## ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git ## ## # For Bacula release 5.0.1 (24 February 2010) -- debian 5.0.4 ######################################################################## # Bacula Director itself # ######################################################################## Director { Name = <%= @director_name %> Description = <%= @hostname %> - <%= @domain %> Bacula Director QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/run/bacula" Maximum Concurrent Jobs = 20 Password = "<%= @director_secret %>" Messages = Daemon DirAddresses = { # Always have localhost in, then the configured IP 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/<%= @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 %>" Heartbeat Interval = 60 } ######################################################################## # Standard Fileset # ######################################################################## 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 Exclude Dir Containing = .nobackup } Exclude { File = /.fsck File = /.journal File = /dev File = /home/buildd/build-trees File = /lib/init/rw File = /nonexistant File = /proc File = /srv/chroot File = /sys 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 = /var/log/samhain File = /var/run File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'" } } ######################################################################## # Generic catalog service # ######################################################################## Catalog { Name = MyCatalog 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 = <%= @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 = <%= @operator_email %> = all operator = <%= @operator_email %> = mount console = all, !skipped, !saved syslog = all append = "/var/lib/bacula/log" = all catalog = all } # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" mail = <%= @operator_email %> = all console = all, !skipped, !saved syslog = all append = "/var/lib/bacula/log" = all } ######################################################################## # Jobdefinitions with defaults and stuff # ######################################################################## JobDefs { Name = "Standardbackup" Type = Backup Level = Incremental FileSet = "Standard Set" Accurate = yes Messages = <%= @messages_name %> Max Full Interval = 50 days Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" Maximum Concurrent Jobs = 20 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" } ######################################################################## # Standard Restore template, to be changed by Console program # # Only one such job is needed for all Jobs/Clients/Storage ... # ######################################################################## Job { Name = "RestoreFiles" Type = Restore FileSet = "Standard Set" Client = <%= @some_client_name%> Pool = <%= @some_pool_name %> Messages = <%= @messages_name %> Where = /var/tmp/bacula-restores } # Scratch pool definition Pool { Name = Scratch Pool Type = Backup } ######################################################################## # And now include all the generated configs # ######################################################################## @|"sh -c 'for f in /etc/bacula/conf.d/*.conf ; do echo @${f} ; done'"