This repository has been archived by the owner on Mar 19, 2021. It is now read-only.
/
multi-client-bareos-dir.conf.in
376 lines (333 loc) · 9.11 KB
/
multi-client-bareos-dir.conf.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
#
# Default Bareos Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
# directives in the Messages resource.
#
Director { # define myself
Name = @hostname@-dir
DIRPort = @dirport@ # where we listen for UA connections
QueryFile = "@scriptdir@/query.sql"
WorkingDirectory = "@working_dir@"
PidDirectory = "@piddir@"
Maximum Concurrent Jobs = 10
Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3" # Console password
Messages = Daemon
}
#
# Define the main nightly save backup job
# By default, this job will back up to disk in @tmpdir@
Job {
Name = "NightlySave"
Type = Backup
Client=@hostname@-fd
FileSet="Full Set"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 10
}
Job {
Name = @hostname1@
Type = Backup
Client = @hostname1@-fd
FileSet = "@hostname1@-FileSet"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 10
}
Job {
Name = @hostname2@
Type = Backup
Client = @hostname2@-fd
FileSet = "@hostname2@-FileSet"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 10
}
Job {
Name = @hostname3@
Type = Backup
Client = @hostname3@-fd
FileSet = "@hostname3@-FileSet"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 10
}
Job {
Name = "MonsterSave"
Type = Backup
Client=@hostname@-fd
FileSet="Full Set"
Storage = File1
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
}
Job {
Name = "VerifyVolume"
Type = Verify
Level = VolumeToCatalog
Client=@hostname@-fd
FileSet="Full Set"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
}
Job {
Name = "SparseTest"
Type = Backup
Client=@hostname@-fd
FileSet="SparseSet"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
}
Job {
Name = "CompressedTest"
Type = Backup
Client=@hostname@-fd
FileSet="CompressedSet"
Storage = File
Messages = Standard
Pool = Default
Maximum Concurrent Jobs = 10
Write Bootstrap = "@working_dir@/NightlySave.bsr"
# Max Run Time = 15 seconds
}
Job {
Name = "SparseCompressedTest"
Type = Backup
Client=@hostname@-fd
FileSet="SparseCompressedSet"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
}
# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
Type = Backup
Client=@hostname@-fd
FileSet="Catalog"
# Schedule = "WeeklyCycleAfterBackup"
Storage = File
Messages = Standard
Pool = Default
# This creates an ASCII copy of the catalog
RunBeforeJob = "@sbindir@/make_catalog_backup -u regress"
# This deletes the copy of the catalog
RunAfterJob = "@sbindir@/delete_catalog_backup"
Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
}
# Standard Restore template, to be changed by Console program
Job {
Name = "RestoreFiles"
Type = Restore
Client=@hostname@-fd
FileSet="Full Set"
Storage = File
Messages = Standard
Pool = Default
Where = @tmpdir@/bareos-restores
}
# List of files to be backed up
FileSet {
Name = "Full Set"
Include { Options { signature=MD5 }
File = @hostname_files@
}
}
FileSet {
Name = "@hostname1@-FileSet"
Include { Options { signature=MD5 }
File = @hostname1_files@
}
}
FileSet {
Name = "@hostname2@-FileSet"
Include { Options { signature=MD5 }
File = @hostname2_files@
}
}
FileSet {
Name = "@hostname3@-FileSet"
Include { Options { signature=MD5 }
File = @hostname3_files@
}
}
FileSet {
Name = "SparseSet"
Include { Options { signature=MD5; sparse=yes }
File=<@tmpdir@/file-list
}
}
FileSet {
Name = "CompressedSet"
Include {
Options { signature=MD5; compression=GZIP }
File =<@tmpdir@/file-list
}
}
FileSet {
Name = "SparseCompressedSet"
Include {
Options {
signature=MD5; compression=GZIP
}
File= <@tmpdir@/file-list
}
}
#
# 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"
Run = Level=Full 1st sun at 1:05
Run = Level=Differential 2nd-5th sun at 1:05
Run = Level=Incremental mon-sat at 1:05
}
# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Level=Full sun-sat at 1:10
}
# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include { Options { signature=MD5 }
File=/home/kern/bareos/regress/bin/working/bareos.sql
}
}
# Client (File Services) to backup
Client {
Name = @hostname@-fd
Address = @hostname@
FDPort = @fdport@
Catalog = MyCatalog
Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
File Retention = 30d # 30 days
Job Retention = 180d # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 10
}
Client {
Name = @hostname1@-fd
Address = @hostname1@
FDPort = 9102
Catalog = MyCatalog
Password = "@hostname1_password@" # password for FileDaemon
File Retention = 30d # 30 days
Job Retention = 180d # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 10
}
Client {
Name = @hostname2@-fd
Address = @hostname2@
FDPort = 9102
Catalog = MyCatalog
Password = "@hostname2_password@" # password for FileDaemon
File Retention = 30d # 30 days
Job Retention = 180d # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 10
}
Client {
Name = @hostname3@-fd
Address = @hostname3@
FDPort = 9102
Catalog = MyCatalog
Password = "@hostname3_password@" # password for FileDaemon
File Retention = 30d # 30 days
Job Retention = 180d # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 10
}
# Definiton of file storage device
Storage {
Name = File
Address = @hostname@ # N.B. Use a fully qualified name here
SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
Device = FileStorage
Media Type = File
Maximum Concurrent Jobs = 10
}
Storage {
Name = File1
Address = @hostname@ # N.B. Use a fully qualified name here
SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
Device = FileStorage1
Media Type = File1
Maximum Concurrent Jobs = 10
}
# Generic catalog service
Catalog {
Name = MyCatalog
@libdbi@
dbname = @db_name@; user = @db_user@; password = "@db_password@"
}
# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bareos regression\) %r\" -s \"Regression: %t %e of %c %l\" %r"
operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bareos regression\) %r\" -s \"Regression: Intervention needed for %j\" %r"
# MailOnError = @job_email@ = all
# operator = @job_email@ = mount
console = all, !skipped, !terminate, !restored, !audit
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if the scroll off the console.
#
append = "@working_dir@/log" = all, !skipped, !audit
catalog = all, !skipped, !audit
}
Messages {
Name = NoEmail
mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bareos regression\) %r\" -s \"Regression: %t %e of %c %l\" %r"
console = all, !skipped, !terminate, !audit
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if the scroll off the console.
#
append = "@working_dir@/log" = all, !skipped, !audit
catalog = all, !skipped, !audit
}
#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bareos regression\) %r\" -s \"Regression daemon message\" %r"
mail = @job_email@ = all, !skipped, !audit
console = all, !skipped, !saved, !audit
append = "@working_dir@/log" = all, !skipped, !audit
}
# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365d # one year
}