On Fri, Sep 16, 2011 at 7:20 PM, Eric Sisolak <haldir.j...@gmail.com> wrote: > Hello, > > I am looking for a way to limit the amount of space taken up by > backups by truncating/deleting volumes whose files and jobs have been > pruned according to retention periods with Bacula 5.0.3. > > ActionOnPurge=Truncate looks like it could do what I want, but it > seemed like there many people had issues with it. > > Has anyone else implemented this? How did you do it? > > --Eric
I am doing something like this, but not using ActionOnPurge. I'm using vchanger as a VTL and initializing X number of volumes. Lets say X = 80. I tell Bacula to limit the volume size to 5GB meaning I'm now only using 400GB of disk space for backups. I also tell Bacula to use a volume retention period of one day and to recycle the oldest volume. Bacula will not use these settings unless it runs out of volumes so your data will be retained in older volumes until you run out of space in the pool. But, once you've filled up your 80th volume in this scenario, it will look at the volume with the oldest last written timedate stamp in the pool and see if the volume is past its retention period. If it is, it will purge the jobs and files and re-use the volume. The net result is that Bacula is now set to use 400GB of storage space and never exceed it. It will automatically cannibalize the oldest volumes and purge records associated with those volumes as needed. If you are a little queasy about a 1 day volume retention, you can set this to something higher like one month to insure you always have at least one month's worth of backups. Just be aware that any jobs attempting to use storage when all 400GB are allocated will hang waiting for volumes if there are no volumes past their volume retention period. You must make sure that you have enough storage to handle the actual retention period you want. This also makes the names of the volumes generic, so your volume names will no longer be indicative of their contents. I find that using volume names tied to their jobs and pools or whatnot to be useless for me. So using generic names for the volumes results in no loss, but I gain the ease of use of vchanger. Here are the relevant config sections I'm using to accomplish this: -------------- bacula-sd.conf -------------- Device { Name = PrimaryVTLDevice DriveIndex = 0 Autochanger = yes Media Type = File Device Type = File Archive Device = /var/lib/bacula/PrimaryVTL/0/drive0 Random Access = yes RemovableMedia = yes LabelMedia = yes } Autochanger { Name = PrimaryVTLAutoChanger Device = PrimaryVTLDevice ChangerDevice = /etc/bacula/PrimaryVTL.conf ChangerCommand = "/opt/bacula/bin/vchanger %c %o %S %a %d" } --------------- bacula-dir.conf --------------- Storage { Name = PrimaryVTLStorage Address = "enter.your.bacula-sd.hostname.here" SDPort = 9103 Password = "XXXXXXXX" Device = PrimaryVTLAutoChanger Media Type = File Autochanger = yes } Pool { Name = PrimaryVTLPool PoolType = Backup Storage = PrimaryVTLStorage AutoPrune = yes VolumeRetention = 1 day MaximumVolumes = 80 MaximumVolumeBytes = 5368709120 RecycleOldestVolume = yes } --------------- PrimaryVTL.conf --------------- changer_name = PrimaryVTL work_dir = /var/lib/bacula/PrimaryVTL virtual_drives = 1 slots_per_magazine = 80 magazine_bays = 1 magazine = "/var/backups/PrimaryVTL" ------------------------------------------------------ Hope that helps! Eric ------------------------------------------------------------------------------ BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA http://p.sf.net/sfu/rim-devcon-copy2 _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users