diff --git a/devices/teal/config/etc/sanoid/sanoid.conf b/devices/teal/config/etc/sanoid/sanoid.conf new file mode 100644 index 0000000..54a6d67 --- /dev/null +++ b/devices/teal/config/etc/sanoid/sanoid.conf @@ -0,0 +1,110 @@ +###################################### +# 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. +[tank/storage] +# # pick one or more templates - they're defined (and editable) below. Comma separated, processed in order. + use_template = production,demo + +## Per-service datasets for Docker based services +[tank/appdata] + use_template = production + recursive = yes + process_children_only = yes + +## you can also handle datasets recursively. +#[zpoolname/parent] +# use_template = production +# recursive = yes +# # if you want sanoid to manage the child datasets but leave this one alone, set process_children_only. +# process_children_only = yes +# +## you can selectively override settings for child datasets which already fall under a recursive definition. +#[zpoolname/parent/child] +# # child datasets already initialized won't be wiped out, so if you use a new template, it will +# # only override the values already set by the parent template, not replace it completely. +# use_template = demo + + +############################# +# 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 = 0 + hourly = 36 + daily = 30 + monthly = 3 + 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] + ### information about the snapshot will be supplied as environment variables, + ### see the README.md file for details about what is passed when. + ### 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