Hello, I am in the development of applying this retention policy to the jobs I have in bacula.
*Types of backups* - Daily Backups: Daily backup (at 06:00). These backups will be retained for 7 days. - Backups Every 8 hours: Backup every 8 hours (at 07:00, 15:00, 23:00). These backups will be retained for 7 days. *Additional backups* - Weekly: Weekly backup. These backups will be retained for 4 weeks. - Monthly: At the end of each month, a monthly backup will be performed. These backups will be retained for 6 months. - Annual: At the end of the year, an annual backup will be performed. These backups will be retained for 5 years. > > - These three additional backups (Weekly, Monthly and Annual): should > be applied to daily and every8hour backups. That is to say: > - Daily: Weekly (daily backup on Sunday), Monthly (daily backup on the > last day of the month), Yearly (daily backup on the last day of the > year). > - Every8hours: Weekly (last backup of every8hours on Sunday), Monthly > (last backup of every8hours on the last day of the month), Yearly > (last > backup of every8hours on the last day of the year) > *My idea:* My idea is use a job with a schedule and in that schedule specify all the types of backups I need (differentiating by schedule) using different pools. Specifying "Run=<Job-overrides><Date-time-specification>" in the resource Schedule, so that depending on the schedule, the volume is stored in a different pool through "<Job-overrides>" (and this apply the desired retention, depending on weekly, monthly...). So far so good. The problem comes in how to set "<Date-time-specification>" for each pool with different retention. The "Runs" overlap and cause the Job to run twice, and I need there to be no times when unnecessary backups are performed. Here is an example with Backups every 8 hours: > > > > > > > > *Schedule { Name = "SExample" Run = Pool="PDaily" Daily mon-sat at > 07:00, 15:00, 23:00 Run = Pool="PDaily" Daily sun at 07:00, 15:00 Run = > Pool="PWeekly" Weekly sun at 23:00 Run = Pool="PMonthly" Monthly lastday > at 23:00 Run = Pool="PYearly" Yearly lastday at 04:00}* This configuration is not optimal in terms of performance, problems with > this config: "Run = Pool="PMonthly" Monthly lastday at 23:00" may coincide with the > other Runs. The last day of the month can be between Monday-Sunday. "Run = Pool="PYearly" lastday Dec at 04:00" can match the other Runs. The > last day of December can be between Monday-Sunday. This means that if it coincides (which it will at some point) the same job > will run twice on the same day. Something that I can not allow. I have reviewed the documentation of schedule and the run directive and it does not have a system of preference in case of matches in the schedule. I understand that the operation is to perform the specified runs regardless of whether they match. *So, what would be the correct configuration or another method to solve this necessary policy?* *To avoid what I am talking about. * Thanks. Best regards, -- adrian b
_______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users