hi
i'm backing up some clients over the internet. i would like to use
the MaxFullInterval config, but it needs to upgrade to VirtualFull
and not to a plain full.
see the patch below. It introduces MaxFullIntervalAsVirtual BOOL
config (dird_conf.c). In fd_cmds.c it checks if this config is set
and upgrades to VirtualFull.
if other virtual levels are planned/exists, maybe the config should better
be called more generic like "LevelUpgradesAsVirtual".
be aware that i'm really not a C programmer, I only tried. :)
- Thomas
diff --git a/bacula/src/dird/dird_conf.c b/bacula/src/dird/dird_conf.c
index da7db73..a4e5018 100644
--- a/bacula/src/dird/dird_conf.c
+++ b/bacula/src/dird/dird_conf.c
@@ -307,6 +307,7 @@ RES_ITEM job_items[] = {
{"maxwaittime", store_time, ITEM(res_job.MaxWaitTime), 0, 0, 0},
{"maxstartdelay",store_time, ITEM(res_job.MaxStartDelay), 0, 0, 0},
{"maxfullinterval", store_time, ITEM(res_job.MaxFullInterval), 0, 0, 0},
+ {"maxfullintervalasvirtual",store_bool,
ITEM(res_job.MaxFullIntervalAsVirtual), 0, ITEM_DEFAULT, false},
{"maxdiffinterval", store_time, ITEM(res_job.MaxDiffInterval), 0, 0, 0},
{"prefixlinks", store_bool, ITEM(res_job.PrefixLinks), 0, ITEM_DEFAULT,
false},
{"prunejobs", store_bool, ITEM(res_job.PruneJobs), 0, ITEM_DEFAULT,
false},
diff --git a/bacula/src/dird/fd_cmds.c b/bacula/src/dird/fd_cmds.c
index 6b99d99..fbd9b50 100644
--- a/bacula/src/dird/fd_cmds.c
+++ b/bacula/src/dird/fd_cmds.c
@@ -242,10 +242,17 @@ void get_level_since_time(JCR *jcr, char *since, int
since_len)
if (do_full) {
/* No recent Full job found, so upgrade this one to Full */
Jmsg(jcr, M_INFO, 0, "%s", db_strerror(jcr->db));
- Jmsg(jcr, M_INFO, 0, _("No prior or suitable Full backup found in
catalog. Doing FULL backup.\n"));
- bsnprintf(since, since_len, _(" (upgraded from %s)"),
- level_to_str(jcr->getJobLevel()));
- jcr->set_JobLevel(jcr->jr.JobLevel = L_FULL);
+ if (have_full && jcr->job->MaxFullIntervalAsVirtual) {
+ Jmsg(jcr, M_INFO, 0, _("No prior or suitable Full backup found in
catalog. Doing VirtualFull backup.\n"));
+ bsnprintf(since, since_len, _(" (upgraded from %s)"),
+ level_to_str(jcr->getJobLevel()));
+ jcr->set_JobLevel(jcr->jr.JobLevel = L_VIRTUAL_FULL);
+ } else {
+ Jmsg(jcr, M_INFO, 0, _("No prior or suitable Full backup found in
catalog. Doing FULL backup.\n"));
+ bsnprintf(since, since_len, _(" (upgraded from %s)"),
+ level_to_str(jcr->getJobLevel()));
+ jcr->set_JobLevel(jcr->jr.JobLevel = L_FULL);
+ }
} else if (do_diff) {
/* No recent diff job found, so upgrade this one to Diff */
Jmsg(jcr, M_INFO, 0, _("No prior or suitable Differential backup
found in catalog. Doing Differential backup.\n"));
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel