Thursday, April 25, 2013

Schedule hack for HP Data Protector

Because Data Protector, originally called HP OmniBack, was ported over from the UNIX platform it means that most of the configuration can be done by editing plain text files.  This includes the schedules, although the schedule text files can often get pretty messy once you've made a few changes.  Below are a few backup schedules that have had all the fat trimmed out and don't have anything you don't need in them.

Reference on the location of file system backup schedule files:

Windows 2003 and earlier C:\Program Files\OmniBack\Config\Server\Schedules

Unix and Linux /etc/opt/omni/server/schedules

Windows 2008 and later C:\ProgramData\OmniBack\Config\Server\Schedules

In the schedules directory are simple ASCII files with names that correspond to scheduled backup specifications.  You can easy edit these files with Notepad or vi.  Be sure to close then reopen your DP GUI after manually editing a schedule file to eliminate the possibility of seeing or applying cached information.

First, create any old schedule for the job such as a full backup each Saturday.

# pwd/etc/opt/omni/server/schedules

# cat Test

-full
-every
-day Sat
-at 17:00

Now edit the schedule file and replace its contents with the following.

-full
-day 1 2 3 4 5 6 7
-at 17:00

-full
-exclude
-day Mon Tue Wed Thu Fri Sun
-at 17:00

This logic says literally, "Start the backup at 17:00 on the first seven days of each month UNLESS the weekday is Monday, Tuesday, Wednesday, Thursday, Friday, or Sunday."  Note the conspicuous absence of Saturday in that exclude list.  Also, the mode (-full) and time (17:00) must agree throughout the file to make this magic work.  Adjust the times to the desired start time of your backup.  As Paul so aptly stated to me, "It will only run on the first Saturday of the month...until weeks get 8 days."

Paul's solution is eloquent both in its brevity and effectiveness.  What you see below is my attempt to achieve similar functionality with the difference being that we're aiming for the last Sunday of each month.  Having a variable number of days in each month added a little complexity.  Leap years really threw a wrench in the works.

-full
-every
-day 25 26 27 28 29 30 31 -month May Jul Aug Oct Dec Jan Mar
-at 21:00

-full
-every
-day 24 25 26 27 28 29 30 -month Jun Sep Nov Apr
-at 21:00

-full
-every
-day 22 23 24 25 26 27 28 -month Feb
-at 21:00

-full
-exclude
-day Mon Tue Wed Thu Fri Sat
-at 21:00
 
Reference 1:
Reference 2:

No comments: