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

Reply via email to