]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/dird_conf.h
ebl Modify disk-changer to check if slot contains something before
[bacula/bacula] / bacula / src / dird / dird_conf.h
index f35890ff7fb7c3adeb08d31986900fa6961591eb..031f81eff8d2fa32b85f22007c39b24b6059b558 100644 (file)
@@ -129,6 +129,7 @@ public:
    bool tls_enable;                   /* Enable TLS */
    bool tls_require;                  /* Require TLS */
    bool tls_verify_peer;              /* TLS Verify Client Certificate */
+   utime_t stats_retention;           /* Stats retention period in seconds */
 
    /* Methods */
    char *name() const;
@@ -185,6 +186,7 @@ enum {
    FileSet_ACL,
    Catalog_ACL,
    Where_ACL,
+   PluginOptions_ACL,
    Num_ACL                            /* keep last */
 };
 
@@ -290,6 +292,7 @@ public:
    alist *device;                     /* Alternate devices for this Storage */
    uint32_t MaxConcurrentJobs;        /* Maximume concurrent jobs */
    uint32_t NumConcurrentJobs;        /* number of concurrent jobs running */
+   uint32_t NumConcurrentReadJobs;    /* number of jobs reading */
    char *tls_ca_certfile;             /* TLS CA Certificate File */
    char *tls_ca_certdir;              /* TLS CA Certificate Directory */
    char *tls_certfile;                /* TLS Client Certificate File */
@@ -364,45 +367,37 @@ public:
    int   JobLevel;                    /* default backup/verify level */
    int   Priority;                    /* Job priority */
    int   RestoreJobId;                /* What -- JobId to restore */
+   int   RescheduleTimes;             /* Number of times to reschedule job */
+   int   replace;                     /* How (overwrite, ..) */
+   int   selection_type;
+
    char *RestoreWhere;                /* Where on disk to restore -- directory */
    char *RegexWhere;                  /* RegexWhere option */
    char *strip_prefix;                /* remove prefix from filename  */
    char *add_prefix;                  /* add prefix to filename  */
    char *add_suffix;                  /* add suffix to filename -- .old */
-   bool  where_use_regexp;            /* true if RestoreWhere is a BREGEXP */
    char *RestoreBootstrap;            /* Bootstrap file */
-   alist *RunScripts;                 /* Run {client} program {after|before} Job */
+   char *PluginOptions;               /* Options to pass to plugin */
    union {
       char *WriteBootstrap;           /* Where to write bootstrap Job updates */
       char *WriteVerifyList;          /* List of changed files */
    };
-   int   replace;                     /* How (overwrite, ..) */
    utime_t MaxRunTime;                /* max run time in seconds */
    utime_t MaxWaitTime;               /* max blocking time in seconds */
-   utime_t FullMaxWaitTime;           /* Max Full job wait time */
-   utime_t DiffMaxWaitTime;           /* Max Differential job wait time */
-   utime_t IncMaxWaitTime;            /* Max Incremental job wait time */
+   utime_t FullMaxRunTime;            /* Max Full job run time */
+   utime_t DiffMaxRunTime;            /* Max Differential job run time */
+   utime_t IncMaxRunTime;             /* Max Incremental job run time */
    utime_t MaxStartDelay;             /* max start delay in seconds */
+   utime_t MaxRunSchedTime;           /* max run time in seconds from Scheduled time*/
    utime_t RescheduleInterval;        /* Reschedule interval */
    utime_t JobRetention;              /* job retention period in seconds */
-   utime_t MaxFullAge;                /* Max age of full to avoid upgrade */
-   uint32_t MaxConcurrentJobs;        /* Maximum concurrent jobs */
+   utime_t MaxFullInterval;           /* Maximum time interval between Fulls */
+   utime_t MaxDiffInterval;           /* Maximum time interval between Diffs */
+   utime_t DuplicateJobProximity;     /* Permitted time between duplicicates */
    int64_t spool_size;                /* Size of spool file for this job */
-   int RescheduleTimes;               /* Number of times to reschedule job */
-   bool RescheduleOnError;            /* Set to reschedule on error */
-   bool PrefixLinks;                  /* prefix soft links with Where path */
-   bool PruneJobs;                    /* Force pruning of Jobs */
-   bool PruneFiles;                   /* Force pruning of Files */
-   bool PruneVolumes;                 /* Force pruning of Volumes */
-   bool SpoolAttributes;              /* Set to spool attributes in SD */
-   bool spool_data;                   /* Set to spool data in SD */
-   bool rerun_failed_levels;          /* Upgrade to rerun failed levels */
-   bool PreferMountedVolumes;         /* Prefer vols mounted rather than new one */
-   bool write_part_after_job;         /* Set to write part after job in SD */
-   bool enabled;                      /* Set if job enabled */
-   bool OptimizeJobScheduling;        /* Set if we should optimize Job scheduling */
-   bool accurate;                     /* Set if it is an accurate backup job */
-   
+   uint32_t MaxConcurrentJobs;        /* Maximum concurrent jobs */
+   uint32_t NumConcurrentJobs;        /* number of concurrent jobs running */
+
    MSGS      *messages;               /* How and where to send messages */
    SCHED     *schedule;               /* When -- Automatic schedule */
    CLIENT    *client;                 /* Who to backup */
@@ -413,13 +408,33 @@ public:
    POOL      *inc_pool;               /* Pool for Incremental backups */
    POOL      *diff_pool;              /* Pool for Differental backups */
    char      *selection_pattern;
-   int        selection_type;
    union {
-      JOB       *verify_job;          /* Job name to verify */
+      JOB    *verify_job;             /* Job name to verify */
    };
    JOB       *jobdefs;                /* Job defaults */
    alist     *run_cmds;               /* Run commands */
-   uint32_t NumConcurrentJobs;        /* number of concurrent jobs running */
+   alist *RunScripts;                 /* Run {client} program {after|before} Job */
+
+   bool where_use_regexp;             /* true if RestoreWhere is a BREGEXP */
+   bool RescheduleOnError;            /* Set to reschedule on error */
+   bool PrefixLinks;                  /* prefix soft links with Where path */
+   bool PruneJobs;                    /* Force pruning of Jobs */
+   bool PruneFiles;                   /* Force pruning of Files */
+   bool PruneVolumes;                 /* Force pruning of Volumes */
+   bool SpoolAttributes;              /* Set to spool attributes in SD */
+   bool spool_data;                   /* Set to spool data in SD */
+   bool rerun_failed_levels;          /* Upgrade to rerun failed levels */
+   bool PreferMountedVolumes;         /* Prefer vols mounted rather than new one */
+   bool write_part_after_job;         /* Set to write part after job in SD */
+   bool enabled;                      /* Set if job enabled */
+   bool OptimizeJobScheduling;        /* Set if we should optimize Job scheduling */
+   bool stats_enabled;                /* Keep job records in a table for long term statistics */
+   bool accurate;                     /* Set if it is an accurate backup job */
+   bool AllowDuplicateJobs;           /* Allow duplicate jobs */
+   bool AllowHigherDuplicates;        /* Permit Higher Level */
+   bool CancelQueuedDuplicates;       /* Cancel queued jobs */
+   bool CancelRunningDuplicates;      /* Cancel Running jobs */
+   
 
    /* Methods */
    char *name() const;
@@ -428,7 +443,7 @@ public:
 inline char *JOB::name() const { return hdr.name; }
 
 #undef  MAX_FOPTS
-#define MAX_FOPTS 34
+#define MAX_FOPTS 40
 
 /* File options structure */
 struct FOPTS {
@@ -445,6 +460,7 @@ struct FOPTS {
    alist drivetype;                   /* drive type limitation */
    char *reader;                      /* reader program */
    char *writer;                      /* writer program */
+   char *ignoredir;                   /* ignoredir string */
    char *plugin;                      /* plugin program */
 };