###################################### # 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 one or more templates - they're defined (and editable) below. Comma separated, processed in order. # # in this example, template_demo's daily value overrides template_production's daily value. # use_template = production,demo # # # 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 # ## 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 # you can also handle datasets recursively in an atomic way without the possibility to override settings for child datasets. [zpoolname/parent2] use_template = production recursive = zfs ############################# # 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