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
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users