I am using Bacula to connect to servers remotely (in a different DC) and backup.
Due to speed constraints and no bogging the office network down during the day, I dont see it is feasible to perform a full backup of our 4 servers at the same time, so instead we can split out the full backups so each week one server has a full backup, in rotation.
Requirement 1 - Load spreading of full backup transfers
If we had 4 servers, we want to perform a full backup in rotation as follows:
- myhost1 => 1st of every month full, incremental all others.
- myhost2 => 8th of every month full, incremental all others.
- myhost3 => 15th of every month full, incremental all others.
- myhost4 => 22nd of every month full, incremental all others.
Given any particular date, we want to keep a full backup, plus the last full backup before that. All incremental from now to the most recent full backup should be kept.
Requirement 2 - Full and Incremental in seperate pools
I have two storage pools, one for incremental and one for full, we need to tell Bacula to use pool-full if a incremental snapshot cannot find a previous full, otherwise use the pool-inc.
Requirement 3 - Scalability
Potentially there could be more servers in future, if I wanted to rotate them over Saturdays and Sundays (giving up to 8 schedules per month on days [1,2], [8,9], [15,16], [22,23]). Is there any easier way to define jobs as I can see it becoming a large configuration file.