X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbacula%2Ftemplates%2Fbacula-dir.conf.erb;h=8d06dea3aca6994f1a52bd6fad57561e50f99c48;hb=fef6fe13456346f5ab0c74ef870ee50f23c1607e;hp=1026d97ad0a10030a2e28dbc4c04c72a2e13e338;hpb=adbc32579addc7260ba6cbd55c9895269f26e120;p=mirror%2Fdsa-puppet.git diff --git a/modules/bacula/templates/bacula-dir.conf.erb b/modules/bacula/templates/bacula-dir.conf.erb index 1026d97ad..8d06dea3a 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 = <%= @bacula_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 = "<%= @bacula_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 = <%=@bacula_director_address%>; port = <%=@bacula_director_port%> } } 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/<%= @bacula_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 } ######################################################################## @@ -39,10 +41,17 @@ Director { ######################################################################## FileSet { Name = "Standard Set" + Ignore FileSet Changes = yes Include { Options { signature = SHA1 compression = GZIP9 + aclsupport = yes + xattrsupport = yes + } + Options { + wild = "/swapfile*" + exclude = yes } File = "\\|/usr/local/sbin/bacula-backup-dirs" # Dont backup directories that contain .nobackup files @@ -50,21 +59,26 @@ FileSet { } Exclude { - File = /var/lib/bacula - File = /var/cache/apt/ + File = /.fsck + File = /.journal + File = /dev + File = /home/buildd/build-trees + File = /lib/init/rw File = /nonexistant - File = /swapfile File = /proc - File = /tmp - File = /.journal - File = /.fsck + File = /srv/chroot File = /sys - File = /lib/init/rw - File = /var/run + 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 = /dev - File = /srv/chroot - File = /home/buildd/build-trees + File = /var/log/samhain + File = /var/run + File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'" } } @@ -76,9 +90,9 @@ FileSet { Include { Options { signature = SHA1 - compression = GZIP9 + #compression = GZIP9 } - File = "/var/lib/bacula/bacula.sql" + File = "/var/lib/bacula/bacula.sql.gz" } } @@ -91,8 +105,10 @@ FileSet { # and incremental backups other days Schedule { Name = "WeeklyCycle" - Run = Full 1st sat at 00:35 - Run = Differential 2nd-5th sat at 00:35 + # 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 } @@ -107,11 +123,13 @@ Schedule { ######################################################################## Catalog { Name = MyCatalog - dbname = "service = bacula"; - #DB Address = "<%= bacula_db_address %>"; - #DB Port = <%= bacula_db_port %>; + dbname = bacula; + dbport = <%= @bacula_db_port %>; + dbaddress = <%= @bacula_db_address %>; + dbsslmode = verify-ca; + dbsslca = /etc/ssl/debian/certs/ca.crt; dbuser = "bacula"; - dbpassword = "<%= bacula_db_secret %>" + dbpassword = "<%= @bacula_db_secret %>" } ######################################################################## @@ -121,10 +139,11 @@ Messages { Name = Standard 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 on error = <%= @bacula_operator_email %> = all, !skipped + mail = <%= @bacula_operator_email %> = all + operator = <%= @bacula_operator_email %> = mount console = all, !skipped, !saved + syslog = all append = "/var/lib/bacula/log" = all catalog = all } @@ -133,8 +152,9 @@ 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 = <%= @bacula_operator_email %> = all console = all, !skipped, !saved + syslog = all append = "/var/lib/bacula/log" = all } @@ -142,8 +162,8 @@ Messages { # Console, limited # ######################################################################## Console { - Name = <%= bacula_monitor_name %> - Password = "<%= bacula_monitor_secret %>" + Name = <%= @bacula_monitor_name %> + Password = "<%= @bacula_monitor_secret %>" CommandACL = status, .status } @@ -155,9 +175,10 @@ JobDefs { Type = Backup Level = Incremental FileSet = "Standard Set" - Schedule = "WeeklyCycle" + Accurate = yes + # Schedule = "WeeklyCycle" Messages = Standard - Max Full Interval = 1 month + Max Full Interval = 50 days Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" Maximum Concurrent Jobs = 20 @@ -171,9 +192,9 @@ JobDefs { Job { Name = "RestoreFiles" Type = Restore - Client = <%=bacula_director_address%>-fd + Client = <%=@bacula_director_address%>-fd FileSet = "Standard Set" - Pool = poolfull-<%=bacula_pool_name%>-<%=bacula_director_address%> + Pool = poolfull-<%=@bacula_pool_name%>-<%=@bacula_director_address%> Messages = Standard Where = /var/tmp/bacula-restores } @@ -190,47 +211,47 @@ Pool { ######################################################################## # 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" + 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 %>" + 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 %>" + TLS Certificate = "<%= @bacula_ssl_client_cert %>" + TLS Key = "<%= @bacula_ssl_client_key %>" } Pool { - Name = "poolcatalog-<%=bacula_pool_name%>" + Name = "poolcatalog-<%=@bacula_pool_name%>" Pool Type = Backup - Storage = "<%=bacula_filestor_name%>-catalog" + 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}" + 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 + Maximum Volume Bytes = 500G Action On Purge = Truncate Recycle = yes - RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>" + RecyclePool = "poolcataloggraveyard-<%=@bacula_pool_name%>" } Pool { - Name = "poolcataloggraveyard-<%=bacula_pool_name%>" + Name = "poolcataloggraveyard-<%=@bacula_pool_name%>" Pool Type = Backup - Storage = "<%=bacula_filestor_name%>-catalog" + Storage = "<%=@bacula_filestor_name%>-catalog" Recycle = yes - RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>" + RecyclePool = "poolcataloggraveyard-<%=@bacula_pool_name%>" } Job { Name = "BackupCatalog" JobDefs = "Standardbackup" - Client = <%=bacula_director_address%>-fd + Client = <%=@bacula_director_address%>-fd Level = Full FileSet = "Catalog" Schedule = "WeeklyCycleAfterBackup" @@ -242,7 +263,7 @@ Job { 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%>" + Pool = "poolcatalog-<%=@bacula_pool_name%>" } ########################################################################