]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Do catalog backups, and try to make truncating work
authorPeter Palfrader <peter@palfrader.org>
Wed, 20 Feb 2013 15:05:30 +0000 (16:05 +0100)
committerPeter Palfrader <peter@palfrader.org>
Wed, 20 Feb 2013 15:05:30 +0000 (16:05 +0100)
modules/bacula/templates/bacula-dir.conf.erb
modules/bacula/templates/bacula-sd.conf.erb
modules/bacula/templates/per-client.conf.erb

index 4555005ff0231324f5bdcf3d63c7864926fa1372..ad433205121601fadc41f147d16deca4994fc871 100644 (file)
@@ -188,26 +188,66 @@ Pool {
 # Generic jobs                                                         #
 ########################################################################
 # Backup the catalog database (after the nightly save)
-#Job {
-#  Name = "BackupCatalog"
-#  JobDefs = "Standardbackup"
-#  Level = Full
-#  FileSet="Catalog"
-#  Schedule = "WeeklyCycleAfterBackup"
+Storage {
+  Name = "<%= bacula_filestor_name %>-catalog"
+  Address = <%= bacula_storage_address %>
+  SDPort = <%= bacula_storage_port %>
+  Password = "<%= bacula_storage_secret %>"
+  Device = "<%= bacula_filestor_device %>-catalog"
+  Media Type = "<%= bacula_filestor_name %>-catalog"
+  Maximum Concurrent Jobs = 10
+
+#  TLS Enable = yes
+#  TLS Require = yes
+#  TLS CA Certificate File = "<%= bacula_ca_path %>"
+#  # This is a client certificate, used by the director to connect to the storage daemon
+#  TLS Certificate = "<%= bacula_ssl_client_cert %>"
+#  TLS Key = "<%= bacula_ssl_client_key %>"
+}
+Pool {
+  Name = "poolcatalog-<%=bacula_pool_name%>"
+  Pool Type = Backup
+  Storage = "<%=bacula_filestor_name%>-catalog"
+  AutoPrune = yes
+  Volume Retention = 2 months
+  Label Format = "<%= bacula_pool_name %>-catalog.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}"
+  Volume Use Duration = 23h
+  Maximum Volume Jobs = 1
+  Maximum Volume Bytes = 50G
+  Action On Purge = Truncate
+  Recycle = yes
+  RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>"
+}
+Pool {
+  Name = "poolcataloggraveyard-<%=bacula_pool_name%>"
+  Pool Type = Backup
+  Storage = "<%=bacula_filestor_name%>-catalog"
+  Recycle = yes
+  RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>"
+}
+
+Job {
+  Name = "BackupCatalog"
+  JobDefs = "Standardbackup"
+  Client = <%=bacula_director_address%>-fd
+  Level = Full
+  FileSet = "Catalog"
+  Schedule = "WeeklyCycleAfterBackup"
 #  # This creates an ASCII copy of the catalog
 #  # Arguments to make_catalog_backup.pl are:
 #  #  make_catalog_backup.pl <catalog-name>
-#  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
+  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
 #  # This deletes the copy of the catalog
-#  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
-#  Write Bootstrap = "/var/lib/bacula/%n.bsr"
-#  Priority = 15    # run after main backup
-#  RunScript {
-#        RunsWhen=After
-#          RunsOnClient=No
-#          Console = "purge volume action=all allpools storage=File"
-#  }
-#}
+  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
+  Write Bootstrap = "/var/lib/bacula/%n.bsr"
+  Priority = 15    # run after main backup
+  Pool = "poolcatalog-<%=bacula_pool_name%>"
+  RunScript {
+    RunsWhen=After
+    RunsOnClient=No
+    Console = "purge volume action=all allpools storage=%w"
+  }
+}
 
 ########################################################################
 # And now include all the generated configs                            #
index b048f8e5fa84e05cf6822e576f5c07746853c2f7..376a883e4dde83a483d34975e4b6b70a4c9ea70d 100644 (file)
@@ -46,4 +46,16 @@ Messages {
   Name = Standard
   director = <%= bacula_director_name %> = all
 }
+
+Device {
+  Name = "<%= bacula_filestor_device %>-catalog"
+  Media Type = "<%= bacula_filestor_name %>-catalog"
+  Archive Device = "<%= bacula_backup_path %>/Catalog"
+  LabelMedia = yes;
+  Random Access = Yes;
+  AutomaticMount = yes;
+  RemovableMedia = no;
+  AlwaysOpen = no;
+}
+
 @|"sh -c 'for f in /etc/bacula/storage-conf.d/*.conf ; do echo @${f} ; done'"
index 3ceaeff7acf747fa1498f85bb8193adfa495a85d..7da723a5ab3c5c840c99c858af250c5300e09110 100644 (file)
@@ -20,6 +20,12 @@ Job {
 
   Cancel Lower Level Duplicates = yes
   Cancel Queued Duplicates = yes
+
+  RunScript {
+    RunsWhen = After
+    RunsOnClient = No
+    Console = "purge volume action=all allpools storage=%w"
+  }
 }
 
 # Client (File Services) to backup
@@ -71,7 +77,6 @@ Pool {
   Name = "poolfull-<%=bacula_pool_name%>-<%= client %>"
   Pool Type = Backup
   Storage = "<%=bacula_filestor_name%>-<%= client %>"
-  Recycle = no
   AutoPrune = yes
   Volume Retention = 1 year
   Label Format = "<%= bacula_pool_name %>-full-<%= client %>.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}"
@@ -79,13 +84,14 @@ Pool {
   Maximum Volume Jobs = 1
   Maximum Volume Bytes = 50G
   Action On Purge = Truncate
+  Recycle = yes
+  RecyclePool = "poolgraveyard-<%=bacula_pool_name%>-<%= client %>"
 }
 
 Pool {
   Name = "pooldiff-<%=bacula_pool_name%>-<%= client %>"
   Pool Type = Backup
   Storage = "<%=bacula_filestor_name%>-<%= client %>"
-  Recycle = no
   AutoPrune = yes
   Volume Retention = 6 months
   Label Format = "<%= bacula_pool_name %>-diff-<%= client %>.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}"
@@ -93,13 +99,14 @@ Pool {
   Maximum Volume Jobs = 1
   Maximum Volume Bytes = 50G
   Action On Purge = Truncate
+  Recycle = yes
+  RecyclePool = "poolgraveyard-<%=bacula_pool_name%>-<%= client %>"
 }
 
 Pool {
   Name = "poolinc-<%=bacula_pool_name%>-<%= client %>"
   Pool Type = Backup
   Storage = "<%=bacula_filestor_name%>-<%= client %>"
-  Recycle = no
   AutoPrune = yes
   Volume Retention = 70 days
   Label Format = "<%= bacula_pool_name %>-inc-<%= client %>.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}"
@@ -107,4 +114,14 @@ Pool {
   Maximum Volume Jobs = 1
   Maximum Volume Bytes = 50G
   Action On Purge = Truncate
+  Recycle = yes
+  RecyclePool = "poolgraveyard-<%=bacula_pool_name%>-<%= client %>"
+}
+
+Pool {
+  Name = "poolgraveyard-<%=bacula_pool_name%>-<%= client %>"
+  Pool Type = Backup
+  Storage = "<%=bacula_filestor_name%>-<%= client %>"
+  Recycle = yes
+  RecyclePool = "poolgraveyard-<%=bacula_pool_name%>-<%= client %>"
 }