From: Peter Palfrader Date: Tue, 24 Sep 2019 09:44:14 +0000 (+0200) Subject: Stop doing catalog backups X-Git-Url: https://git.adam-barratt.org.uk/?a=commitdiff_plain;h=fc79f92600028a6dea9d8dc67c78247a0cd2d62f;p=mirror%2Fdsa-puppet.git Stop doing catalog backups The bacula catalog backup job is this special snowflake that's unlike all the other jobs. It only backups one file, /var/lib/bacula/bacula.sql.gz, that gets created in a RunBeforeJob and deleted in a RunAfterJob. We already have a well-thought out and more generic method to backup databases, and we should use just that. The RunBefore/After setup makes sense as a default when you don't have that, but we do. --- diff --git a/modules/bacula/manifests/storage.pp b/modules/bacula/manifests/storage.pp index 8f549d537..3c01e58a9 100644 --- a/modules/bacula/manifests/storage.pp +++ b/modules/bacula/manifests/storage.pp @@ -60,14 +60,6 @@ class bacula::storage inherits bacula { notify => Exec['bacula-sd restart-when-idle'] } - file { "${bacula::bacula_backup_path}/Catalog": - ensure => directory, - mode => '0755', - owner => bacula, - group => bacula, - ; - } - package { 'python3-psycopg2': ensure => installed } file { '/usr/local/bin/bacula-unlink-removed-volumes': source => 'puppet:///modules/bacula/bacula-unlink-removed-volumes', diff --git a/modules/bacula/templates/bacula-dir.conf.erb b/modules/bacula/templates/bacula-dir.conf.erb index beba6b733..db41540a8 100644 --- a/modules/bacula/templates/bacula-dir.conf.erb +++ b/modules/bacula/templates/bacula-dir.conf.erb @@ -82,28 +82,6 @@ FileSet { } } -######################################################################## -# A fileset for the catalog, one sql dump of the db # -######################################################################## -FileSet { - Name = "Catalog" - Include { - Options { - signature = SHA1 - } - File = "/var/lib/bacula/bacula.sql.gz" - } -} - -######################################################################## -# The job schedules # -######################################################################## - -# This schedule does the catalog -Schedule { - Name = "CatalogSchedule" - Run = Full sun-sat at 02:10 -} ######################################################################## # Generic catalog service # @@ -194,66 +172,6 @@ Pool { Pool Type = Backup } -######################################################################## -# Generic jobs # -######################################################################## -# Backup the catalog database (after the nightly save) -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 = 500G - 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 = "CatalogSchedule" -# # This creates an ASCII copy of the catalog -# # Arguments to make_catalog_backup.pl are: -# # make_catalog_backup.pl - 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 - Pool = "poolcatalog-<%=@bacula_pool_name%>" -} - ######################################################################## # And now include all the generated configs # ######################################################################## diff --git a/modules/bacula/templates/bacula-sd.conf.erb b/modules/bacula/templates/bacula-sd.conf.erb index 7c0375f15..a46d9739b 100644 --- a/modules/bacula/templates/bacula-sd.conf.erb +++ b/modules/bacula/templates/bacula-sd.conf.erb @@ -64,15 +64,4 @@ Messages { 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'"