1Director {
2  Name = "bareos-dir"
3  Messages = "Daemon"
4  DirAddresses = {
5      ipv4 = {
6         addr = 0.0.0.0
7         port = @dir_port@
8      }
9  }
10  QueryFile = "@scriptdir@/query.sql"
11  WorkingDirectory = "@working_dir@"
12  PidDirectory = "@piddir@"
13  BackendDirectory = "@backenddir@"
14  # Subscriptions = 0
15  MaximumConcurrentJobs = 10
16  # MaximumConnections = 30
17  # MaximumConsoleConnections = 20
18  Password = "@dir_password@"
19  # FdConnectTimeout = 3 minutes
20  # SdConnectTimeout = 30 minutes
21  # HeartbeatInterval = 0
22  # StatisticsRetention = 5 years 1 months 5 days
23  # StatisticsCollectInterval = 150
24  # OptimizeForSize = yes
25  # OptimizeForSpeed = no
26  # OmitDefaults = yes
27  # NdmpLogLevel = 4
28  Auditing = yes
29  # TlsAuthenticate = no
30  # TlsEnable = yes
31  # TlsRequire = no
32  # TlsVerifyPeer = no
33}
34
35Client {
36  Name = "bareos-fd"
37  Description = "Client resource of the Director itself."
38  Address = "localhost"
39  # Port = 9102
40  Password = "[md5]97a3419152ff86bedac46016e0c97271"
41  # Catalog = "MyCatalog"
42  # Passive = no
43  # ConnectionFromDirectorToClient = yes
44  # ConnectionFromClientToDirector = no
45  # Enabled = yes
46  # HardQuota = 0
47  # SoftQuota = 0
48  # SoftQuotaGracePeriod = 0
49  # StrictQuotas = no
50  # QuotaIncludeFailedJobs = yes
51  # FileRetention = 2 months
52  # JobRetention = 6 months
53  # HeartbeatInterval = 0
54  # AutoPrune = no
55  # MaximumConcurrentJobs = 1
56  # NdmpLogLevel = 4
57  # NdmpBlockSize = 63 k
58  # NdmpUseLmdb = yes
59  # TlsAuthenticate = no
60  # TlsEnable = yes
61  # TlsRequire = no
62  # TlsVerifyPeer = no
63}
64
65JobDefs {
66  Name = "DefaultJob"
67  Type = Backup
68  # BackupFormat = "Native"
69  Level = Incremental
70  Messages = "Standard"
71  Storage = "File"
72  Pool = "Incremental"
73  FullBackupPool = "Full"
74  IncrementalBackupPool = "Incremental"
75  DifferentialBackupPool = "Differential"
76  Client = "bareos-fd"
77  FileSet = "SelfTest"
78  Schedule = "WeeklyCycle"
79  WriteBootstrap = "/var/lib/bareos/%c.bsr"
80  # PrefixLinks = no
81  # PruneJobs = no
82  # PruneFiles = no
83  # PruneVolumes = no
84  # PurgeMigrationJob = no
85  # Enabled = yes
86  # SpoolAttributes = no
87  # SpoolData = no
88  # RerunFailedLevels = no
89  # PreferMountedVolumes = yes
90  # MaximumConcurrentJobs = 1
91  # RescheduleOnError = no
92  # RescheduleInterval = 30 minutes
93  # RescheduleTimes = 5
94  # Priority = 10
95  # AllowMixedPriority = no
96  # Accurate = no
97  # AllowDuplicateJobs = yes
98  # AllowHigherDuplicates = yes
99  # CancelLowerLevelDuplicates = no
100  # CancelQueuedDuplicates = no
101  # CancelRunningDuplicates = no
102  # SaveFileHistory = yes
103  # FileHistorySize = 9 m 549 k 640
104  # MaxConcurrentCopies = 100
105  # AlwaysIncremental = no
106  # AlwaysIncrementalJobRetention = 0
107  # AlwaysIncrementalKeepNumber = 0
108  # MaxFullConsolidations = 0
109  # RunOnIncomingConnectInterval = 0
110}
111
112Job {
113  Name = "RestoreFiles"
114  Description = "Standard Restore template. Only one such job is needed for all standard Jobs/Clients/Storage ..."
115  Type = Restore
116  # BackupFormat = "Native"
117  Messages = "Standard"
118  Storage = "File"
119  Pool = "Incremental"
120  Client = "bareos-fd"
121  FileSet = "LinuxAll"
122  Where = "/tmp/bareos-restores"
123  # PrefixLinks = no
124  # PruneJobs = no
125  # PruneFiles = no
126  # PruneVolumes = no
127  # PurgeMigrationJob = no
128  # Enabled = yes
129  # SpoolAttributes = no
130  # SpoolData = no
131  # RerunFailedLevels = no
132  # PreferMountedVolumes = yes
133  # MaximumConcurrentJobs = 1
134  # RescheduleOnError = no
135  # RescheduleInterval = 30 minutes
136  # RescheduleTimes = 5
137  # Priority = 10
138  # AllowMixedPriority = no
139  # Accurate = no
140  # AllowDuplicateJobs = yes
141  # AllowHigherDuplicates = yes
142  # CancelLowerLevelDuplicates = no
143  # CancelQueuedDuplicates = no
144  # CancelRunningDuplicates = no
145  # SaveFileHistory = yes
146  # FileHistorySize = 9 m 549 k 640
147  # MaxConcurrentCopies = 100
148  # AlwaysIncremental = no
149  # AlwaysIncrementalJobRetention = 0
150  # AlwaysIncrementalKeepNumber = 0
151  # MaxFullConsolidations = 0
152  # RunOnIncomingConnectInterval = 0
153}
154
155Job {
156  Name = "BackupCatalog"
157  Description = "Backup the catalog database (after the nightly save)"
158  # Type = Backup
159  # BackupFormat = "Native"
160  Level = Full
161  # Messages = "Standard"
162  # Storage = "File"
163  # Pool = "Incremental"
164  # FullBackupPool = "Full"
165  # IncrementalBackupPool = "Incremental"
166  # DifferentialBackupPool = "Differential"
167  # Client = "bareos-fd"
168  FileSet = "Catalog"
169  Schedule = "WeeklyCycleAfterBackup"
170  JobDefs = "DefaultJob"
171  #WriteBootstrap = "|/usr/bin/bsmtp -h localhost -f "(Bareos) " -s "Bootstrap for Job %j" root"
172  # PrefixLinks = no
173  # PruneJobs = no
174  # PruneFiles = no
175  # PruneVolumes = no
176  # PurgeMigrationJob = no
177  # Enabled = yes
178  # SpoolAttributes = no
179  # SpoolData = no
180  # RerunFailedLevels = no
181  # PreferMountedVolumes = yes
182  # MaximumConcurrentJobs = 1
183  # RescheduleOnError = no
184  # RescheduleInterval = 30 minutes
185  # RescheduleTimes = 5
186  Priority = 11
187  # AllowMixedPriority = no
188  run before job = "/usr/lib/bareos/scripts/make_catalog_backup.pl MyCatalog"
189  run after job = "/usr/lib/bareos/scripts/delete_catalog_backup"
190  # Accurate = no
191  # AllowDuplicateJobs = yes
192  # AllowHigherDuplicates = yes
193  # CancelLowerLevelDuplicates = no
194  # CancelQueuedDuplicates = no
195  # CancelRunningDuplicates = no
196  # SaveFileHistory = yes
197  # FileHistorySize = 9 m 549 k 640
198  # MaxConcurrentCopies = 100
199  # AlwaysIncremental = no
200  # AlwaysIncrementalJobRetention = 0
201  # AlwaysIncrementalKeepNumber = 0
202  # MaxFullConsolidations = 0
203  # RunOnIncomingConnectInterval = 0
204}
205
206Job {
207  Name = "backup-bareos-fd"
208  # Type = Backup
209  # BackupFormat = "Native"
210  # Level = Incremental
211  # Messages = "Standard"
212  # Storage = "File"
213  # Pool = "Incremental"
214  # FullBackupPool = "Full"
215  # IncrementalBackupPool = "Incremental"
216  # DifferentialBackupPool = "Differential"
217  Client = "bareos-fd"
218  # FileSet = "SelfTest"
219  # Schedule = "WeeklyCycle"
220  JobDefs = "DefaultJob"
221  # WriteBootstrap = "/var/lib/bareos/%c.bsr"
222  # PrefixLinks = no
223  # PruneJobs = no
224  # PruneFiles = no
225  # PruneVolumes = no
226  # PurgeMigrationJob = no
227  # Enabled = yes
228  # SpoolAttributes = no
229  # SpoolData = no
230  # RerunFailedLevels = no
231  # PreferMountedVolumes = yes
232  # MaximumConcurrentJobs = 1
233  # RescheduleOnError = no
234  # RescheduleInterval = 30 minutes
235  # RescheduleTimes = 5
236  # Priority = 10
237  # AllowMixedPriority = no
238  # Accurate = no
239  # AllowDuplicateJobs = yes
240  # AllowHigherDuplicates = yes
241  # CancelLowerLevelDuplicates = no
242  # CancelQueuedDuplicates = no
243  # CancelRunningDuplicates = no
244  # SaveFileHistory = yes
245  # FileHistorySize = 9 m 549 k 640
246  # MaxConcurrentCopies = 100
247  # AlwaysIncremental = no
248  # AlwaysIncrementalJobRetention = 0
249  # AlwaysIncrementalKeepNumber = 0
250  # MaxFullConsolidations = 0
251  # RunOnIncomingConnectInterval = 0
252}
253
254Storage {
255  Name = "File"
256  Address = "vagrant"
257  # Port = 9103
258  Password = "[md5]4f389409b83d78959bc9fd95292fb63a"
259  Device = "FileStorage"
260  MediaType = "File"
261  # AutoChanger = no
262  # Enabled = yes
263  # AllowCompression = yes
264  # HeartbeatInterval = 0
265  # CacheStatusInterval = 30 seconds
266  # MaximumConcurrentJobs = 1
267  # MaximumConcurrentReadJobs = 0
268  # CollectStatistics = no
269  # TlsAuthenticate = no
270  # TlsEnable = yes
271  # TlsRequire = no
272  # TlsVerifyPeer = no
273}
274
275Catalog {
276  Name = "MyCatalog"
277  DbPassword = "@db_password@"
278  DbUser = "@db_user@"
279  DbName = "@db_name@"
280  DbDriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX"
281  # MultipleConnections = no
282  # DisableBatchInsert = no
283  # Reconnect = no
284  # ExitOnFatal = no
285  # MinConnections = 1
286  # MaxConnections = 5
287  # IncConnections = 1
288  # IdleTimeout = 30
289  # ValidateTimeout = 120
290}
291
292Schedule {
293  Name = "WeeklyCycle"
294  run = Full 1st Sat at 21:00
295  run = Differential 2nd-5th Sat at 21:00
296  run = Incremental Mon-Fri at 21:00
297  # Enabled = yes
298}
299
300Schedule {
301  Name = "WeeklyCycleAfterBackup"
302  Description = "This schedule does the catalog. It starts after the WeeklyCycle."
303  run = Full Mon-Fri at 21:10
304  # Enabled = yes
305}
306
307FileSet {
308  Name = "Windows All Drives"
309  Include {
310    Options {
311      Signature = MD5
312      IgnoreCase = Yes
313      Exclude = Yes
314      AclSupport = Yes
315      XattrSupport = Yes
316      Wild Dir = "[A-Z]:/RECYCLER"
317      Wild Dir = "[A-Z]:/$RECYCLE.BIN"
318      Wild Dir = "[A-Z]:/System Volume Information"
319      Wild File = "[A-Z]:/pagefile.sys"
320      Drive Type = "fixed"
321    }
322    File = "/"
323  }
324}
325
326FileSet {
327  Name = "SelfTest"
328  Description = "fileset just to backup some files for selftest"
329  Include {
330    Options {
331      Signature = MD5
332      AclSupport = Yes
333      XattrSupport = Yes
334    }
335    File = "/usr/sbin"
336  }
337}
338
339FileSet {
340  Name = "LinuxAll"
341  Description = "Backup all regular filesystems, determined by filesystem type."
342  Include {
343    Options {
344      Signature = MD5
345      OneFS = No
346      AclSupport = Yes
347      XattrSupport = Yes
348      Fs Type = "btrfs"
349      Fs Type = "ext2"
350      Fs Type = "ext3"
351      Fs Type = "ext4"
352      Fs Type = "reiserfs"
353      Fs Type = "jfs"
354      Fs Type = "xfs"
355      Fs Type = "zfs"
356    }
357    File = "/"
358  }
359  Exclude {
360    File = "/var/lib/bareos"
361    File = "/var/lib/bareos/storage"
362    File = "/proc"
363    File = "/tmp"
364    File = "/var/tmp"
365    File = "/.journal"
366    File = "/.fsck"
367  }
368}
369
370FileSet {
371  Name = "Catalog"
372  Description = "Backup the catalog dump and Bareos configuration files."
373  Include {
374    Options {
375      Signature = MD5
376      AclSupport = Yes
377      XattrSupport = Yes
378    }
379    File = "/var/lib/bareos/bareos.sql"
380    File = "/etc/bareos"
381  }
382}
383
384Pool {
385  Name = "Scratch"
386  PoolType = Scratch
387  # LabelType = "bareos"
388  # CleaningPrefix = "CLN"
389  # UseCatalog = yes
390  # PurgeOldestVolume = no
391  # RecycleOldestVolume = no
392  # RecycleCurrentVolume = no
393  # CatalogFiles = yes
394  # VolumeRetention = 1 years
395  # AutoPrune = yes
396  # Recycle = yes
397}
398
399Pool {
400  Name = "Incremental"
401  PoolType = Backup
402  LabelFormat = "Incremental-"
403  # LabelType = "bareos"
404  # CleaningPrefix = "CLN"
405  # UseCatalog = yes
406  # PurgeOldestVolume = no
407  # RecycleOldestVolume = no
408  # RecycleCurrentVolume = no
409  MaximumVolumes = 100
410  MaximumVolumeBytes = 1 g
411  # CatalogFiles = yes
412  VolumeRetention = 1 months
413  # AutoPrune = yes
414  # Recycle = yes
415}
416
417Pool {
418  Name = "Full"
419  PoolType = Backup
420  LabelFormat = "Full-"
421  # LabelType = "bareos"
422  # CleaningPrefix = "CLN"
423  # UseCatalog = yes
424  # PurgeOldestVolume = no
425  # RecycleOldestVolume = no
426  # RecycleCurrentVolume = no
427  MaximumVolumes = 100
428  MaximumVolumeBytes = 50 g
429  # CatalogFiles = yes
430  # VolumeRetention = 1 years
431  # AutoPrune = yes
432  # Recycle = yes
433}
434
435Pool {
436  Name = "Differential"
437  PoolType = Backup
438  LabelFormat = "Differential-"
439  # LabelType = "bareos"
440  # CleaningPrefix = "CLN"
441  # UseCatalog = yes
442  # PurgeOldestVolume = no
443  # RecycleOldestVolume = no
444  # RecycleCurrentVolume = no
445  MaximumVolumes = 100
446  MaximumVolumeBytes = 10 g
447  # CatalogFiles = yes
448  VolumeRetention = 3 months
449  # AutoPrune = yes
450  # Recycle = yes
451}
452
453Messages {
454  Name = "Standard"
455  MailCommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos: %t %e of %c %l\" %r"
456  OperatorCommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos: Intervention needed for %j\" %r"
457  catalog = all,!saved,!skipped,!audit
458  append = @logdir@/bareos.log = all,!saved,!skipped,!audit
459  console = all,!saved,!skipped,!audit
460  mail = root = all,!saved,!skipped,!audit
461  operator = root = mount
462}
463
464Messages {
465  Name = "Daemon"
466  MailCommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos daemon message\" %r"
467  append = @logdir@/bareos-audit.log = audit
468  append = @logdir@/bareos.log = all,!skipped,!audit
469  console = all,!saved,!skipped,!audit
470  mail = root = all,!skipped,!audit
471}
472
473Profile {
474  Name = "webui-readonly"
475  JobACL = "*all*"
476  ClientACL = "*all*"
477  StorageACL = "*all*"
478  ScheduleACL = "*all*"
479  PoolACL = "*all*"
480  CommandACL = ".api", ".help", "use", "version", "status", "list", "llist", ".clients", ".jobs", ".filesets", ".pools", ".storages", ".defaults", ".schedule", ".bvfs_lsdirs", ".bvfs_lsfiles", ".bvfs_update", ".bvfs_get_jobids", ".bvfs_versions", ".bvfs_restore"
481  FileSetACL = "*all*"
482  CatalogACL = "*all*"
483  WhereACL = "*all*"
484}
485
486Profile {
487  Name = "webui-admin"
488  JobACL = "*all*"
489  ClientACL = "*all*"
490  StorageACL = "*all*"
491  ScheduleACL = "*all*"
492  PoolACL = "*all*"
493  CommandACL = "!.bvfs_clear_cache", "!.exit", "!.sql", "!configure", "!create", "!delete", "!purge", "!prune", "!sqlquery", "!umount", "!unmount", "*all*"
494  FileSetACL = "*all*"
495  CatalogACL = "*all*"
496  WhereACL = "*all*"
497}
498
499Profile {
500  Name = "operator"
501  Description = "Profile allowing normal Bareos operations."
502  JobACL = "*all*"
503  ClientACL = "*all*"
504  StorageACL = "*all*"
505  ScheduleACL = "*all*"
506  PoolACL = "*all*"
507  CommandACL = "!.bvfs_clear_cache", "!.exit", "!.sql", "!configure", "!create", "!delete", "!purge", "!prune", "!sqlquery", "!umount", "!unmount", "*all*"
508  FileSetACL = "*all*"
509  CatalogACL = "*all*"
510  WhereACL = "*all*"
511  PluginOptionsACL = "*all*"
512}
513
514Console {
515  Name = "bareos-mon"
516  Description = "Restricted console used by tray-monitor to get the status of the director."
517  Password = "[md5]4cf5943929b8447731b086f0f43f7f99"
518  JobACL = "*all*"
519  CommandACL = "status", ".status"
520  # UsePamAuthentication = no
521  # TlsAuthenticate = no
522  # TlsEnable = yes
523  # TlsRequire = no
524  # TlsVerifyPeer = no
525}
526
527Console {
528  Name = "admin"
529  Password = "[md5]5ebe2294ecd0e0f08eab7690d2a6ee69"
530  Profile = "webui-admin"
531  # UsePamAuthentication = no
532  # TlsAuthenticate = no
533  TlsEnable = no
534  # TlsRequire = no
535  # TlsVerifyPeer = no
536}
537
538#Console {
539# Name = "*UserAgent*"
540# Description = "root console definition"
541# Password = "[md5]1499042c6de7a645bcb4c21f3e05dc3a"
542  # UsePamAuthentication = no
543  # TlsAuthenticate = no
544  # TlsEnable = yes
545  # TlsRequire = no
546  # TlsVerifyPeer = no
547#}
548