From: Steve T. <sm...@vg...> - 2008-07-28 19:47:47
|
On Mon, 28 Jul 2008, Frank Sweetser wrote: > Steve Thompson wrote: >> All versions since 1.38, at least up to 2.2.8. >> >> I have observed that if the director is not running at the time that a full >> backup is scheduled, then the next backup to be performed when the director >> next schedules the job is not a full but an incremental (that is, the >> missing full is not detected). If the backup retention is less than twice >> the interval between fulls, this eventually leads to the database >> containing only incrementals and no fulls. Is this the as-designed >> behavior? It certainly doesn't seem correct. > > You're almost right. > > It's possible to almost get into that situation, but Bacula will detect and > prevent it. Whenever an incremental or differential job runs, it checks the > catalogue for a matching full backup. If it doesn't find a matching full > backup, the current job is upgraded to a full backup. Ah yes, that is what is supposed to happen, but it doesn't always work. I just noticed a situation where five jobs were scheduled to do fulls on the 12th of each month, but for whatever reason the director was not running at the designated time on 12th July. The retention period was 5 weeks. On 19th July, the five fulls performed on 12th June were purged, but the next and subsequent backups were all incrementals. Voila, no fulls. I've also noticed that when I manually force a full in this situation and the full completes before the next scheduled run, the incremental that was then supposed to happen next is _always_ a full. If the full does not complete before the next scheduled run, I end up with two fulls for the same job running concurrently. I've been using bacula for about 18 months (since 1.38) on a variety of systems, and it behaves this way on all of them. Steve |