2 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
6 # For Bacula release 5.0.1 (24 February 2010) -- debian 5.0.4
8 ########################################################################
9 # Bacula Director itself #
10 ########################################################################
13 Name = <%= @bacula_director_name %>
14 Description = <%= @hostname %> - <%= @domain %> Bacula Director
15 QueryFile = "/etc/bacula/scripts/query.sql"
16 WorkingDirectory = "/var/lib/bacula"
17 PidDirectory = "/run/bacula"
18 Maximum Concurrent Jobs = 20
19 Password = "<%= @bacula_director_secret %>"
22 # Always have localhost in, then the configured IP
23 ip = { addr = 127.0.0.1; port = 9101 }
24 ip = { addr = <%=@bacula_director_address%>; port = <%=@bacula_director_port%> }
30 TLS Allowed CN = "clientcerts/<%= @bacula_director_address %>"
31 TLS CA Certificate File = "<%= @bacula_ca_path %>"
32 # This is a server certificate, used for incoming console connections.
33 TLS Certificate = "<%= @bacula_ssl_server_cert %>"
34 TLS Key = "<%= @bacula_ssl_server_key %>"
36 Heartbeat Interval = 60
39 ########################################################################
41 ########################################################################
44 Ignore FileSet Changes = yes
56 File = "\\|/usr/local/sbin/bacula-backup-dirs"
57 # Dont backup directories that contain .nobackup files
58 Exclude Dir Containing = .nobackup
65 File = /home/buildd/build-trees
72 File = /srv/apache-cache/mod_cache_disk
73 File = /var/cache/apache2/mod_cache_disk
76 File = /var/lib/bacula
77 File = /var/lib/munin-async
79 File = /var/log/samhain
81 File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'"
85 ########################################################################
86 # A fileset for the catalog, one sql dump of the db #
87 ########################################################################
95 File = "/var/lib/bacula/bacula.sql.gz"
99 ########################################################################
100 # The job schedules #
101 ########################################################################
103 # When to do the backups, full backup on first sunday of the month,
104 # differential (i.e. incremental since full) every other sunday,
105 # and incremental backups other days
108 # fulls are automatically run if the last full backup was 40 days ago
109 # for the current value of 40 look for "Max Full Interval" in this file.
110 # Run = Full 1st sat at 00:35
111 Run = Differential sat at 00:35
112 Run = Incremental sun-fri at 00:35
115 # This schedule does the catalog. It starts after the WeeklyCycle
117 Name = "WeeklyCycleAfterBackup"
118 Run = Full sun-sat at 02:10
121 ########################################################################
122 # Generic catalog service #
123 ########################################################################
128 dbaddress = bmdb1.debian.org;
129 dbsslmode = verify-ca;
130 dbsslca = /etc/ssl/debian/certs/ca.crt;
132 dbpassword = "<%= @bacula_db_secret %>"
135 ########################################################################
137 ########################################################################
140 mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
141 operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
142 #mail on error = <%= @bacula_operator_email %> = all, !skipped
143 mail = <%= @bacula_operator_email %> = all
144 operator = <%= @bacula_operator_email %> = mount
145 console = all, !skipped, !saved
147 append = "/var/lib/bacula/log" = all
151 # Message delivery for daemon messages (no job).
154 mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
155 mail = <%= @bacula_operator_email %> = all
156 console = all, !skipped, !saved
158 append = "/var/lib/bacula/log" = all
161 ########################################################################
163 ########################################################################
165 Name = <%= @bacula_monitor_name %>
166 Password = "<%= @bacula_monitor_secret %>"
167 CommandACL = status, .status
170 ########################################################################
171 # Jobdefinitions with defaults and stuff #
172 ########################################################################
174 Name = "Standardbackup"
177 FileSet = "Standard Set"
179 # Schedule = "WeeklyCycle"
181 Max Full Interval = 50 days
183 Write Bootstrap = "/var/lib/bacula/%c.bsr"
184 Maximum Concurrent Jobs = 20
185 Client Run After Job = "/usr/local/sbin/postbaculajob -c \"%c\" -d \"%d\" -i \"%i\" -l \"%l\" -n \"%n\" -o /var/log/bacula/client-after.state"
188 ########################################################################
189 # Standard Restore template, to be changed by Console program #
190 # Only one such job is needed for all Jobs/Clients/Storage ... #
191 ########################################################################
193 Name = "RestoreFiles"
195 Client = <%=@bacula_director_address%>-fd
196 FileSet = "Standard Set"
197 Pool = poolfull-<%=@bacula_pool_name%>-<%=@bacula_director_address%>
199 Where = /var/tmp/bacula-restores
203 # Scratch pool definition
209 ########################################################################
211 ########################################################################
212 # Backup the catalog database (after the nightly save)
214 Name = "<%= @bacula_filestor_name %>-catalog"
215 Address = <%= @bacula_storage_address %>
216 SDPort = <%= @bacula_storage_port %>
217 Password = "<%= @bacula_storage_secret %>"
218 Device = "<%= @bacula_filestor_device %>-catalog"
219 Media Type = "<%= @bacula_filestor_name %>-catalog"
220 Maximum Concurrent Jobs = 10
224 TLS CA Certificate File = "<%= @bacula_ca_path %>"
225 # This is a client certificate, used by the director to connect to the storage daemon
226 TLS Certificate = "<%= @bacula_ssl_client_cert %>"
227 TLS Key = "<%= @bacula_ssl_client_key %>"
230 Name = "poolcatalog-<%=@bacula_pool_name%>"
232 Storage = "<%=@bacula_filestor_name%>-catalog"
234 Volume Retention = 2 months
235 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}"
236 Volume Use Duration = 23h
237 Maximum Volume Jobs = 1
238 Maximum Volume Bytes = 500G
239 Action On Purge = Truncate
241 RecyclePool = "poolcataloggraveyard-<%=@bacula_pool_name%>"
244 Name = "poolcataloggraveyard-<%=@bacula_pool_name%>"
246 Storage = "<%=@bacula_filestor_name%>-catalog"
248 RecyclePool = "poolcataloggraveyard-<%=@bacula_pool_name%>"
252 Name = "BackupCatalog"
253 JobDefs = "Standardbackup"
254 Client = <%=@bacula_director_address%>-fd
257 Schedule = "WeeklyCycleAfterBackup"
258 # # This creates an ASCII copy of the catalog
259 # # Arguments to make_catalog_backup.pl are:
260 # # make_catalog_backup.pl <catalog-name>
261 RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
262 # # This deletes the copy of the catalog
263 RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
264 Write Bootstrap = "/var/lib/bacula/%n.bsr"
265 Priority = 15 # run after main backup
266 Pool = "poolcatalog-<%=@bacula_pool_name%>"
269 ########################################################################
270 # And now include all the generated configs #
271 ########################################################################
272 @|"sh -c 'for f in /etc/bacula/conf.d/*.conf ; do echo @${f} ; done'"