Hi all,
I am looking for a way to save disk space on my Bacula server. My config for one of the clients is below. And the list of volumes.
Here is the list of volumes:
linux1dcFull-1181
linux1dcFull-1049
linux1dcDiff-1161
linux1dcFull-1096
linux1dcDiff-1064
linux1dcDiff-1116
linux1dcDiff-1122
linux1dcInc-1106
linux1dcInc-1108
linux1dcInc-1050
linux1dcInc-1550
linux1dcDiff-1140
linux1dcInc-1111
linux1dcInc-1055
linux1dcInc-1059
linux1dcInc-1071
linux1dcInc-1077
linux1dcInc-1082
linux1dcFull-1125
linux1dcInc-1085
linux1dcInc-1088
linux1dcInc-1091
linux1dcInc-1103
Am I right in thinking that the volumes I have highlighted above are not needed as there are either Diff between them or a Full.
Storage {
Name = "bacula1:storage:"
Address = bacula1
Password = "password"
Device = "linux1dcStorage"
Media Type = File
Maximum Concurrent Jobs = 10
}
FileSet {
Name = "linux1dc"
Include {
Options {
Signature = "MD5"
Compression = "GZIP9"
}
#MySQL database
File = "/mnt/cloud-backup/linux1dc/"
# Hornbill directory (CS+SW)
File = "/home/cloud-backup/linux1dc/"
}
Exclude {
File = "/mnt/cloud-backup/linux1dc/mysql/swdata/swsystag.*"
}
}
Job {
Name = "linux1dc-Backup"
JobDefs = "CloudBackup"
Type = Backup
Client = bacula1
Pool = linux1dcPool-Full
FileSet = "linux1dc"
Storage = "bacula1:storage:linux1dc"
Full Backup Pool = linux1dcPool-Full
Incremental Backup Pool = linux1dcPool-Inc
Differential Backup Pool = linux1dcPool-Diff
#External scripts definition
RunScript {
Command = "/root/scripts/mysql_backup_before.sh 3 linux1dc"
RunsOnClient = No
RunsWhen = Before
}
RunScript {
Command = "/root/scripts/mysql_backup_after.sh 3 linux1dc"
RunsOnClient = No
RunsWhen = After
}
# Nagios integration
Run After Job = "/root/scripts//bacula2nagios.sh \"%n\" 0 \"%e %l %v\""
Run After Failed Job = "/root/scripts/bacula2nagios.sh \"%n\" 1 \"%e %l %v\""
}
# Allow one extra volume (file) per Pool
# monthly - full
# weekly - diff
# daily - inc
Pool {
Name = "linux1dcPool-Full"
LabelFormat = "linux1dcFull-"
Pool Type = "Backup"
Recycle = "yes"
Autoprune = "yes"
Volume Retention = 60 days
Maximum Volumes = 5
Maximum Volume Jobs = 1
}
Pool {
Name = "linux1dcPool-Diff"
LabelFormat = "linux1dcDiff-"
Pool Type = "Backup"
Recycle = "yes"
Autoprune = "yes"
Volume Retention = 40 days
Maximum Volumes = 6
Maximum Volume Jobs = 1
}
Pool {
Name = "linux1dcPool-Inc"
LabelFormat = "linux1dcInc-"
Pool Type = "Backup"
Recycle = "yes"
Autoprune = "yes"
Volume Retention = 8 days
Maximum Volumes = 9
Maximum Volume Jobs = 1
}
My plan is to write a shell script which looks in the database for volumes over my retention period i.e. 8 days for incremental and delete these volumes with bconsole delete volume, then remove them from disk.
Can anyone see a problem with this?
Regards
WaqarK
PGP: D1388321