X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Ftemplates%2Fbacula-dir.conf.erb;h=b1cdeddacd2505f8aa9db34b36aa61dd2cb5ba43;hb=8610e08a607c6249308c4d80d52df6f6c88a5a51;hp=37fba7a24850426407b3a4cc28a2679b0fa7152e;hpb=e124727e06201fda70561b0f687d28950425c599;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/templates/bacula-dir.conf.erb b/modules/bacula/templates/bacula-dir.conf.erb index 37fba7a24..b1cdeddac 100644 --- a/modules/bacula/templates/bacula-dir.conf.erb +++ b/modules/bacula/templates/bacula-dir.conf.erb @@ -10,28 +10,30 @@ ######################################################################## Director { - Name = <%= bacula_director_name %> - Description = <%= hostname %> - <%= domain %> Bacula Director + Name = <%= @director_name %> + Description = <%= @hostname %> - <%= @domain %> Bacula Director QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" - PidDirectory = "/var/run/bacula" + PidDirectory = "/run/bacula" Maximum Concurrent Jobs = 20 - Password = "<%= bacula_director_secret %>" + Password = "<%= @director_secret %>" Messages = Daemon DirAddresses = { # Always have localhost in, then the configured IP - ip = { addr = 127.0.0.1; port = 9101 } - ip = { addr = <%=bacula_director_address%>; port = <%=bacula_director_port%> } + ip = { addr = 127.0.0.1; port = <%= @port_dir %> } + ip = { addr = <%= @director_address %>; port = <%= @port_dir %> } } TLS Enable = yes TLS Require = yes TLS Verify Peer = yes - TLS Allowed CN = "clientcerts/<%= bacula_director_address %>" - TLS CA Certificate File = "<%= bacula_ca_path %>" + TLS Allowed CN = "clientcerts/<%= @director_address %>" + TLS CA Certificate File = "<%= @bacula_ca_path %>" # This is a server certificate, used for incoming console connections. - TLS Certificate = "<%= bacula_ssl_server_cert %>" - TLS Key = "<%= bacula_ssl_server_key %>" + TLS Certificate = "<%= @bacula_ssl_server_cert %>" + TLS Key = "<%= @bacula_ssl_server_key %>" + + Heartbeat Interval = 60 } ######################################################################## @@ -67,9 +69,12 @@ FileSet { File = /srv/chroot File = /sys File = /tmp + File = /srv/apache-cache/mod_cache_disk + File = /var/cache/apache2/mod_cache_disk File = /var/cache/apt File = /var/lib/apt File = /var/lib/bacula + File = /var/lib/munin-async File = /var/lock File = /var/log/samhain File = /var/run @@ -77,65 +82,34 @@ FileSet { } } -######################################################################## -# A fileset for the catalog, one sql dump of the db # -######################################################################## -FileSet { - Name = "Catalog" - Include { - Options { - signature = SHA1 - #compression = GZIP9 - } - File = "/var/lib/bacula/bacula.sql.gz" - } -} - -######################################################################## -# The job schedules # -######################################################################## - -# When to do the backups, full backup on first sunday of the month, -# differential (i.e. incremental since full) every other sunday, -# and incremental backups other days -Schedule { - Name = "WeeklyCycle" - # fulls are automatically run if the last full backup was 40 days ago - # for the current value of 40 look for "Max Full Interval" in this file. - # Run = Full 1st sat at 00:35 - Run = Differential sat at 00:35 - Run = Incremental sun-fri at 00:35 -} - -# This schedule does the catalog. It starts after the WeeklyCycle -Schedule { - Name = "WeeklyCycleAfterBackup" - Run = Full sun-sat at 02:10 -} ######################################################################## # Generic catalog service # ######################################################################## Catalog { Name = MyCatalog - dbname = "service = bacula"; - #DB Address = "<%= bacula_db_address %>"; - #DB Port = <%= bacula_db_port %>; - dbuser = "bacula"; - dbpassword = "<%= bacula_db_secret %>" + dbname = <%= @db_name %>; + dbport = <%= @db_port %>; + dbaddress = "<%= @db_address %>"; + dbsslmode = verify-ca; +<% if @db_sslca %> + dbsslca = "<%= @db_sslca %>"; +<% end %> + dbuser = "<%= @db_user %>"; + dbpassword = "<%= @db_password %>" } ######################################################################## # Message delivery # ######################################################################## Messages { - Name = Standard + Name = <%= @messages_name %> mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r" - #mail on error = <%= bacula_operator_email %> = all, !skipped - mail = <%= bacula_operator_email %> = all - operator = <%= bacula_operator_email %> = mount + mail = <%= @operator_email %> = all + operator = <%= @operator_email %> = mount console = all, !skipped, !saved + syslog = all append = "/var/lib/bacula/log" = all catalog = all } @@ -144,20 +118,12 @@ Messages { Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" - mail = <%= bacula_operator_email %> = all + mail = <%= @operator_email %> = all console = all, !skipped, !saved + syslog = all append = "/var/lib/bacula/log" = all } -######################################################################## -# Console, limited # -######################################################################## -Console { - Name = <%= bacula_monitor_name %> - Password = "<%= bacula_monitor_secret %>" - CommandACL = status, .status -} - ######################################################################## # Jobdefinitions with defaults and stuff # ######################################################################## @@ -167,9 +133,8 @@ JobDefs { Level = Incremental FileSet = "Standard Set" Accurate = yes - Schedule = "WeeklyCycle" - Messages = Standard - Max Full Interval = 40 days + Messages = <%= @messages_name %> + Max Full Interval = 50 days Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" Maximum Concurrent Jobs = 20 @@ -183,10 +148,10 @@ JobDefs { Job { Name = "RestoreFiles" Type = Restore - Client = <%=bacula_director_address%>-fd FileSet = "Standard Set" - Pool = poolfull-<%=bacula_pool_name%>-<%=bacula_director_address%> - Messages = Standard + Client = <%= @some_client_name%> + Pool = <%= @some_pool_name %> + Messages = <%= @messages_name %> Where = /var/tmp/bacula-restores } @@ -197,66 +162,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 = 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 - 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 # ########################################################################