bacula
Table of Contents
Overview
bacula client and server services management
Module Description
You can manage 4 different services:
- bacula director: bacula::dir
- bacula storage daemon: bacula::sd
- bacula console: bacula::bconsole
- bacula client (file daemon): bacula::fd
Setup
What bacula affects
- A list of files, packages, services, or operations that the module will alter, impact, or execute on the system it's installed on.
- This is a great place to stick any warnings.
- Can be in list or paragraph form.
Setup Requirements
This module requires pluginsync enabled
Beginning with bacula
class { 'bacula::fd':
fdname => 'bacula-fd',
}
class { 'bacula::sd':
sdname => 'bacula-sd',
}
bacula::sd::device { 'data1':
archive_device => '/var/bacula/data1',
}
bacula::sd::device { 'data2':
archive_device => '/var/bacula/data2',
}
bacula::sd::autochanger { 'autochanger1':
devices => [ 'data1', 'data2' ],
}
class { 'bacula::dir':
}
bacula::dir::catalog { 'mycatalog':
dbpassword => 'baculapassw0rd',
}
bacula::dir::fileset { 'Full':
}
bacula::dir::schedule { 'weekly':
run => [ "Full 1st sun at 23:05", "Incremental mon-sat at 23:05" ],
}
bacula::dir::client { 'bacula-fd':
addr => '127.0.0.1',
catalog => 'mycatalog',
}
bacula::dir::storage { 'local-autochanger1':
password => 'dmlzY2EgY2F0YWx1bnlhIGxsaXVyZQo',
device => 'autochanger1',
}
bacula::dir::pool { '30days':
volume_retention => '30 days',
label_format => '30days-',
}
bacula::dir::job { 'demo':
client => 'bacula-fd',
fileset => 'Full',
schedule => 'weekly',
storage => 'local-autochanger1',
pool => '30days',
}
class { 'bacula::bconsole': }
Usage
bacula-fd
class { 'bacula::fd': }
bacula::fd::director { 'monitor':
director_password => '123',
monitor => true,
}
bacula-sd
class { 'bacula::sd': }
bacula::sd::device { 'data1':
archive_device => '/var/bacula/data1',
}
bacula::sd::device { 'data2':
archive_device => '/var/bacula/data1',
}
bacula::sd::autochanger { 'autochanger1':
devices => [ 'data1', 'data2' ],
}
bacula director using hiera:
---
classes:
- bacula::sd
- bacula::dir
- bacula::bconsole
mysql::mysql_username_uid: 116
mysql::mysql_username_gid: 125
xtrabackup:
'bacula':
hour: '3'
minute: '0'
destination: '/var/mysql/backup'
retention: '5'
bacula::dir::director_password: 'passw0rd'
bacula::sd::director_password: 'passw0rd'
bacula::bconsole::director_password: 'passw0rd'
baculasddevices:
data1:
archive_device: '/var/bacula/data1'
baculadircatalogs:
mycatalog:
dbpassword: 'dbpassw0rd'
baculadirfilesets:
log_etc_cron: {}
log_etc_cron_xtrabackup:
includelist:
- '/var/log'
- '/etc'
- 'var/spool/cron'
- '/var/mysql/backup'
baculadirschedules:
weekly:
run:
- 'Full 1st sun at 03:00'
- 'Incremental mon-sat at 03:00'
baculadirclients:
'EF-BaculaDir01':
addr: '127.0.0.1'
catalog: mycatalog
password: 'passw0rd'
baculadirstorages:
localdata:
password: 'passw0rd'
device: 'data1'
baculadirpools:
30days:
volume_retention: '30 days'
label_format: '30days-'
baculadirjobtemplates:
'defaultjob':
fileset: 'log_etc_cron'
scheduled: weekly
storage: localdata
pool: '30days'
'defaultjobdb':
fileset: 'log_etc_cron_xtrabackup'
scheduled: weekly
storage: localdata
pool: '30days'
baculadirjobs:
'EF-BaculaDir01':
jobdefs: 'defaultjobdb'
client: 'EF-BaculaDir01'
bacula client using hiera:
---
classes:
- bacula::fd
bacula::fd::director_password: passw0rd
Reference
classes
bacula
This class is just a placeholder
bacula::dir
bacula::sd
bacula::fd
bacula::bconsole
defines
storage daemon
file daemon
bacula::fd::director
director
Limitations
This is where you list OS compatibility, version compatibility, etc.
Development
We are pushing to have acceptance testing in place, so any new feature should have some test to check both presence and absence of any feature
TODO
TODO list
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request