########################################################################
Director {
- Name = <%= @bacula_director_name %>
+ 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_ssl_ca_path %>"
# This is a server certificate, used for incoming console connections.
TLS Certificate = "<%= @bacula_ssl_server_cert %>"
TLS Key = "<%= @bacula_ssl_server_key %>"
}
}
-########################################################################
-# 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
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 #
########################################################################
Level = Incremental
FileSet = "Standard Set"
Accurate = yes
- # Schedule = "WeeklyCycle"
- Messages = Standard
+ Messages = <%= @messages_name %>
Max Full Interval = 50 days
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
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
}
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 = 500G
- 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 <catalog-name>
- 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 #
########################################################################