diff --git a/sanoid.conf b/sanoid.conf new file mode 100644 index 0000000..8bf313f --- /dev/null +++ b/sanoid.conf @@ -0,0 +1,116 @@ +###################################### +# 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. +[zpoolname/datasetname] + # pick a template - they're defined (and editable) below. + use_template = production + # if you want to, you can override settings in the template directly inside module definitions like this. + # in this example, we override the template to only keep 12 hourly and 1 monthly snapshot for this dataset. + hourly = 12 + monthly = 1 + + +############################# +# templates below this line # +############################# + +# name your templates template_templatename. you can create your own, and use them in your module definitions above. +[template_production] + template = yes + hourly = 36 + daily = 30 + monthly = 3 + yearly = 0 + autosnap = yes + autoprune = yes + +[template_backup] + template = yes + + autoprune = yes + hourly = 30 + daily = 90 + monthly = 12 + yearlies = 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 + + +################################################################################### +# default template - contains same values as hardcoded, unless you override here. # +# ALL values set here, so useful as documentation even if # +# nothing is actually overridden. # +################################################################################### + +[template_default] +template = yes + +# If any snapshot type is set to 0, we will not take snapshots for it - and will immediately +# prune any of those type snapshots already present. +# +# Otherwise, if autoprune is set, we will prune any snapshots of that type which are older +# than (setting * periodicity) - so if daily = 90, we'll prune any dailies older than 90 days. +autoprune = yes +hourly = 48 +daily = 90 +monthly = 6 +yearly = 0 +min_percent_free = 10 + +# We will automatically take snapshots if autosnap is on, at the desired times configured +# below (or immediately, if we don't have one since the last preferred time for that type). +# +# Note that we will not take snapshots for a given type if that type is set to 0 above, +# regardless of the autosnap setting - for example, if yearly=0 we will not take yearlies +# even if we've defined a preferred time for yearlies and autosnap is on. +autosnap = 1; +# hourly - top of the hour +hourly_min = 0; +# daily - at 23:59 (most people expect a daily to contain everything done DURING that day) +daily_hour = 23; +daily_min = 59; +# monthly - immediately at the beginning of the month (ie 00:00 of day 1) +monthly_mday = 1; +monthly_hour = 0; +monthly_min = 0; +# yearly - immediately at the beginning of the year (ie 00:00 on Jan 1) +yearly_yday = 1; +yearly_hour = 0; +yearly_min = 0; + +# monitoring plugin - define warn / crit levels for each snapshot type by age, in units of one period down +# example hourly_warn = 90 means issue WARNING if most recent hourly snapshot is not less than 90 minutes old, +# daily_crit = 36 means issue CRITICAL if most recent daily snapshot is not less than 36 hours old, +# monthly_warn = 36 means issue WARNING if most recent monthly snapshot is not less than 36 days old... etc. +# +# monitor_dont_warn = yes will cause the monitoring service to report warnings as text, but with status OK. +# monitor_dont_crit = yes will cause the monitoring service to report criticals as text, but with status OK. +# +# setting any value to 0 will keep the monitoring service from monitoring that snapshot type on that section at all. +monitor = yes +monitor_dont_warn = no +monitor_dont_crit = no +hourly_warn = 90 +hourly_crit = 360 +daily_warn = 28 +daily_crit = 32 +monthly_warn = 32 +monthly_crit = 35 +yearly_warn = 0 +yearly_crit = 0 + +