1
0
mirror of https://github.com/krislamo/puppet-rsnapshot synced 2024-09-20 01:10:35 +00:00

fix README.md

This commit is contained in:
Norbert Varzariu 2016-01-05 15:24:26 +01:00
parent 8e199572f5
commit 80ef1f5806

124
README.md
View File

@ -66,6 +66,7 @@ Here are some more elaborate examples of what you can do with this module.
### Examples ### Examples
This will backup localhost with defaults. It will disable the default backup locations for example.com This will backup localhost with defaults. It will disable the default backup locations for example.com
and just backup '/var' for example.com. and just backup '/var' for example.com.
```puppet ```puppet
class { '::rsnapshot': class { '::rsnapshot':
hosts => { hosts => {
@ -79,7 +80,9 @@ class { '::rsnapshot':
} }
} }
``` ```
The same in hiera: The same in hiera:
```yaml ```yaml
--- ---
classes: rsnapshot classes: rsnapshot
@ -94,6 +97,7 @@ rsnapshot::hosts:
A more complete hiera example: A more complete hiera example:
```yaml ```yaml
--- ---
classes: classes:
@ -169,51 +173,51 @@ or maybe
#### Public Classes #### Public Classes
* rsnapshot: Main class, includes all other classes. * rsnapshot: Main class, includes all other classes.
####Private Classes #### Private Classes
* rsnapshot::install: Handles the packages. * rsnapshot::install: Handles the packages.
* rsnapshot::config: Handles configuration and cron files. * rsnapshot::config: Handles configuration and cron files.
* rsnapshot::params: default values. * rsnapshot::params: default values.
### Functions ### Functions
####`assert_empty_hash` #### `assert_empty_hash`
Sets an empty value to a hash (we need this so a loop doesn't break if just a hostname is given to pick up all defaults. Sets an empty value to a hash (we need this so a loop doesn't break if just a hostname is given to pick up all defaults.
####`pick_undef` #### `pick_undef`
Like pick but returns undef values. Like pick but returns undef values.
####`rand_from_array` #### `rand_from_array`
Takes an Integer, a String or an Array as input, and returns a random entry from the array (or just the String/Integer) Takes an Integer, a String or an Array as input, and returns a random entry from the array (or just the String/Integer)
### Parameters ### Parameters
The following parameters are available in the `::rsnapshot` class: The following parameters are available in the `::rsnapshot` class:
####`$hosts` #### `$hosts`
Hash containing the hosts to be backed up and optional overrides per host Hash containing the hosts to be backed up and optional overrides per host
(Default: undef (do nothing when no host given)) (Default: undef (do nothing when no host given))
####`$conf_d` #### `$conf_d`
The place where the configs will be dropped The place where the configs will be dropped
(Default: /etc/rsnapshot (will be created if it doesn't exist)) (Default: /etc/rsnapshot (will be created if it doesn't exist))
####`$backup_user` #### `$backup_user`
The user to run the backup scripts as The user to run the backup scripts as
(Default: root, also the user used for ssh connections, if you change this make sure you have proper key deployed and the user exists in the nodes to be backed up.) (Default: root, also the user used for ssh connections, if you change this make sure you have proper key deployed and the user exists in the nodes to be backed up.)
####`$package_name` #### `$package_name`
(Default: rsnapshot) (Default: rsnapshot)
####`$package_ensure` #### `$package_ensure`
(Default: present) (Default: present)
####`$cron_dir` #### `$cron_dir`
Directory to drop the cron files to. Crons will be created per host. Directory to drop the cron files to. Crons will be created per host.
(Default: /etc/cron.d) (Default: /etc/cron.d)
####`$backup_levels` #### `$backup_levels`
Array containing the backup levels (hourly, daily, weekly, monthly) Array containing the backup levels (hourly, daily, weekly, monthly)
Configure the backup_levels (valid per host and global, so you may either set: rsnapshot::backup_levels for all hosts or override default backup_levels for specific hosts) Configure the backup_levels (valid per host and global, so you may either set: rsnapshot::backup_levels for all hosts or override default backup_levels for specific hosts)
(Default: [ 'daily', 'weekly', ] ) (Default: [ 'daily', 'weekly', ] )
####`$backup_defaults` #### `$backup_defaults`
Boolean. Backup default backup dirs or not. Boolean. Backup default backup dirs or not.
(Default: true) (Default: true)
####`$default_backup` #### `$default_backup`
The default backup directories. This will apply to all hosts unless you set [backup_defaults](#backup_defaults) = false The default backup directories. This will apply to all hosts unless you set [backup_defaults](#backup_defaults) = false
Default is: Default is:
```puppet ```puppet
@ -223,7 +227,7 @@ Default is:
} }
``` ```
####`$cron` #### `$cron`
Hash. Set time ranges for different backup levels. Each item (minute, hour...) allows for cron notation, an array to pick a random time from and a range to pick a random time from. Hash. Set time ranges for different backup levels. Each item (minute, hour...) allows for cron notation, an array to pick a random time from and a range to pick a random time from.
The range notation is '$start..$end', so to pick a random hour from 8 pm to 2 am, you could set the hour of your desired backup level to The range notation is '$start..$end', so to pick a random hour from 8 pm to 2 am, you could set the hour of your desired backup level to
`[ '20..23','0..2' ]` `[ '20..23','0..2' ]`
@ -256,6 +260,7 @@ rsnapshot::hosts:
``` ```
Hash is of the form: Hash is of the form:
```puppet ```puppet
$cron =>{ $cron =>{
daily => { daily => {
@ -271,6 +276,7 @@ $cron =>{
``` ```
Default is: Default is:
```puppet ```puppet
$cron = { $cron = {
hourly => { hourly => {
@ -304,10 +310,11 @@ Default is:
} }
``` ```
####`$snapshot_root` #### `$snapshot_root`
global. the directory holding your backups. global. the directory holding your backups.
(Default: /backup) (Default: /backup)
You will end up with a structure like: You will end up with a structure like:
``` ```
/backup/ /backup/
├── example.com ├── example.com
@ -326,9 +333,10 @@ You will end up with a structure like:
└── weekly.0 └── weekly.0
``` ```
####`$interval` #### `$interval`
How many backups of each level to keep. How many backups of each level to keep.
Default is: Default is:
```puppet ```puppet
$interval = { $interval = {
'daily' => '7', 'daily' => '7',
@ -340,135 +348,135 @@ Default is:
### rsnapshot configuration variables ### rsnapshot configuration variables
Please read up on the following in the [rsnapshot manpage](http://linux.die.net/man/1/rsnapshot) Please read up on the following in the [rsnapshot manpage](http://linux.die.net/man/1/rsnapshot)
####`$config_version` #### `$config_version`
Default is: '1.2' Default is: '1.2'
####`$cmd_cp` #### `$cmd_cp`
Default is: '/bin/cp' Default is: '/bin/cp'
####`$cmd_rm` #### `$cmd_rm`
Default is: '/bin/rm' Default is: '/bin/rm'
####`$cmd_rsync` #### `$cmd_rsync`
Default is: '/usr/bin/rsync' Default is: '/usr/bin/rsync'
####`$cmd_ssh` #### `$cmd_ssh`
Default is: '/usr/bin/ssh' Default is: '/usr/bin/ssh'
####`$cmd_logger` #### `$cmd_logger`
Default is: '/usr/bin/logger' Default is: '/usr/bin/logger'
####`$cmd_du` #### `$cmd_du`
Default is: '/usr/bin/du' Default is: '/usr/bin/du'
####`$cmd_rsnapshot_diff` #### `$cmd_rsnapshot_diff`
Default is: '/usr/bin/rsnapshot-diff' Default is: '/usr/bin/rsnapshot-diff'
####`$cmd_preexec` #### `$cmd_preexec`
Default is: undef Default is: undef
####`$cmd_postexec` #### `$cmd_postexec`
Default is: undef Default is: undef
####`$use_lvm` #### `$use_lvm`
Default is: undef Default is: undef
####`$linux_lvm_cmd_lvcreate` #### `$linux_lvm_cmd_lvcreate`
Default is: undef # '/sbin/lvcreate' Default is: undef # '/sbin/lvcreate'
####`$linux_lvm_cmd_lvremove` #### `$linux_lvm_cmd_lvremove`
Default is: undef # '/sbin/lvremove' Default is: undef # '/sbin/lvremove'
####`$linux_lvm_cmd_mount` #### `$linux_lvm_cmd_mount`
Default is: undef # '/sbin/mount' Default is: undef # '/sbin/mount'
####`$linux_lvm_cmd_umount` #### `$linux_lvm_cmd_umount`
Default is: undef # '/sbin/umount' Default is: undef # '/sbin/umount'
####`$linux_lvm_snapshotsize` #### `$linux_lvm_snapshotsize`
Default is: undef # '100M' Default is: undef # '100M'
####`$linux_lvm_snapshotname` #### `$linux_lvm_snapshotname`
Default is: undef # 'rsnapshot' Default is: undef # 'rsnapshot'
####`$linux_lvm_vgpath` #### `$linux_lvm_vgpath`
Default is: undef # '/dev' Default is: undef # '/dev'
####`$linux_lvm_mountpath` #### `$linux_lvm_mountpath`
Default is: undef # '/mount/rsnapshot' Default is: undef # '/mount/rsnapshot'
####`$logpath` #### `$logpath`
Default is: '/var/log/rsnapshot' Default is: '/var/log/rsnapshot'
####`$logfile` #### `$logfile`
unused, we are logging to $logpath/$host.log unused, we are logging to $logpath/$host.log
Default is: '/var/log/rsnapshot.log' Default is: '/var/log/rsnapshot.log'
####`$lockpath` #### `$lockpath`
Default is: '/var/run/rsnapshot' Default is: '/var/run/rsnapshot'
####`$snapshot_root` #### `$snapshot_root`
Default is: '/backup/' Default is: '/backup/'
####`$no_create_root` #### `$no_create_root`
Boolean: true or false Boolean: true or false
Default is: undef Default is: undef
####`$verbose` #### `$verbose`
Default is: '2' Default is: '2'
####`$loglevel` #### `$loglevel`
Default is: '4' Default is: '4'
####`$stop_on_stale_lockfile` #### `$stop_on_stale_lockfile`
Boolean: true or false Boolean: true or false
Default is: undef Default is: undef
####`$rsync_short_args` #### `$rsync_short_args`
Default is: '-az' Default is: '-az'
####`$rsync_long_args` #### `$rsync_long_args`
rsync defaults are: --delete --numeric-ids --relative --delete-excluded rsync defaults are: --delete --numeric-ids --relative --delete-excluded
Default is: undef Default is: undef
####`$ssh_args` #### `$ssh_args`
Default is: undef Default is: undef
####`$du_args` #### `$du_args`
Default is: undef Default is: undef
####`$one_fs` #### `$one_fs`
Default is: undef Default is: undef
####`$retain` #### `$retain`
Default is: { } Default is: { }
####`$include` #### `$include`
Default is: [] Default is: []
####`$exclude` #### `$exclude`
Default is: [] Default is: []
####`$include_file` #### `$include_file`
Default is: undef Default is: undef
####`$exclude_file` #### `$exclude_file`
Other than this might suggest, the default behavior is to create an exclude file per host. Other than this might suggest, the default behavior is to create an exclude file per host.
Default is: undef Default is: undef
####`$link_dest` #### `$link_dest`
Default is: false Default is: false
####`$sync_first` #### `$sync_first`
Default is: false Default is: false
####`$rsync_numtries` #### `$rsync_numtries`
Default is: 1 Default is: 1
####`$use_lazy_deletes` #### `$use_lazy_deletes`
Default is: false Default is: false
####`$backup_scripts` #### `$backup_scripts`
Default is: {} Default is: {}
## Limitations ## Limitations