frequently = 2
hourly = 5
daily = 7
monthly = 1
yearly = 0
That's 15 snapshots at any given time.
I did not set up syncoid to send and sync my snapshots on a remote system. For syncoid to work you need to follow some additional advise here
https://github.com/jimsalterjrs/sanoid/ ... md#freebsd and here
https://github.com/jimsalterjrs/sanoid/ ... BSD.readme
According to the info on https://github.com/jimsalterjrs/sanoid you need to install the following package:
sanoid
I had to to drop a symlink on my system (alternatively FreeBSD users need to change the Perl shebangs at the top of the executables from #!/usr/bin/perl
to #!/usr/local/bin/perl in most cases) (https://github.com/jimsalterjrs/sanoid/ ... BSD.readme):
Code: Select all
# ln -s /usr/local/bin/perl /usr/bin/perl
The sanoid.defaults.conf file should not be edited. Instead, create a file named sanoid.conf at the same location.
These are the contents of my sanoid.conf file:
Code: Select all
######################################
# This is a sample sanoid.conf file. #
# It should go in /etc/sanoid. #
######################################
# name your backup modules with the path to their ZFS dataset - no leading slash.
[zroot/usr/home]
use_template = production
recursive = yes
#############################
# templates below this line #
#############################
# name your templates template_templatename. you can create your own, and use them in your module definitions above.
[template_demo]
daily = 60
[template_production]
frequently = 2
hourly = 5
daily = 7
monthly = 1
yearly = 0
autosnap = yes
autoprune = yes
[template_backup]
autoprune = yes
frequently = 0
hourly = 30
daily = 90
monthly = 12
yearly = 0
### don't take new snapshots - snapshots on backup
### datasets are replicated in from source, not
### generated locally
autosnap = no
### monitor hourlies and dailies, but don't warn or
### crit until they're over 48h old, since replication
### is typically daily only
hourly_warn = 2880
hourly_crit = 3600
daily_warn = 48
daily_crit = 60
[template_hotspare]
autoprune = yes
frequently = 0
hourly = 30
daily = 90
monthly = 3
yearly = 0
### don't take new snapshots - snapshots on backup
### datasets are replicated in from source, not
### generated locally
autosnap = no
### monitor hourlies and dailies, but don't warn or
### crit until they're over 4h old, since replication
### is typically hourly only
hourly_warn = 4h
hourly_crit = 6h
daily_warn = 2d
daily_crit = 4d
[template_scripts]
### dataset and snapshot name will be supplied as environment variables
### for all pre/post/prune scripts ($SANOID_TARGET, $SANOID_SNAPNAME)
### run script before snapshot
pre_snapshot_script = /path/to/script.sh
### run script after snapshot
post_snapshot_script = /path/to/script.sh
### run script after pruning snapshot
pruning_script = /path/to/script.sh
### don't take an inconsistent snapshot (skip if pre script fails)
#no_inconsistent_snapshot = yes
### run post_snapshot_script when pre_snapshot_script is failing
#force_post_snapshot_script = yes
### limit allowed execution time of scripts before continuing (<= 0: infinite)
script_timeout = 5
[template_ignore]
autoprune = no
autosnap = no
monitor = no
Code: Select all
* * * * * /usr/local/bin/sanoid --cron