Reduce snapshot and backup numbers
This commit is contained in:
parent
522d93c71e
commit
e9498669e8
@ -1,7 +1,7 @@
|
|||||||
[template_home]
|
# Template for system datasets that are not being backed up anywhere. Snapshots are used to provide
|
||||||
hourly = 0
|
# option for rollback without having to reinstall entire system. If the hardware crashes or becomes
|
||||||
|
# corrupt reinstalling might be smarter given the fact that hardware will likely be different.
|
||||||
[template_production]
|
[template_system]
|
||||||
frequently = 0
|
frequently = 0
|
||||||
hourly = 36
|
hourly = 36
|
||||||
daily = 30
|
daily = 30
|
||||||
@ -10,12 +10,34 @@
|
|||||||
autosnap = yes
|
autosnap = yes
|
||||||
autoprune = yes
|
autoprune = yes
|
||||||
|
|
||||||
|
# Template for home directories which will use the system template, but they don't change so fast.
|
||||||
|
[template_home]
|
||||||
|
hourly = 0
|
||||||
|
|
||||||
|
# Template for datasets with production data. Unlike system datasets, production datasets are
|
||||||
|
# expected to be backed up, both to spare local storage as well as a remote location. Therefore,
|
||||||
|
# snapshots only serve the purpose of providing snapshots for these backups. Otherwise, don't keep
|
||||||
|
# snapshots as they will just take up space. Applications that need their data versioned will be
|
||||||
|
# versioning themselves so they only need backups.
|
||||||
|
[template_production]
|
||||||
|
frequently = 0
|
||||||
|
hourly = 2
|
||||||
|
daily = 2
|
||||||
|
monthly = 0
|
||||||
|
yearly = 0
|
||||||
|
autosnap = yes
|
||||||
|
autoprune = yes
|
||||||
|
|
||||||
|
# Template for backup datasets which also doubles as a hot spare. The assumption is that these
|
||||||
|
# backup production datasets. In addition to three months of snapshots, keep 36 hourly snapshots for
|
||||||
|
# quick rollback in case of trouble. No monthly snapshots are kept as that would require the
|
||||||
|
# production template to produce them.
|
||||||
[template_backup]
|
[template_backup]
|
||||||
autoprune = yes
|
autoprune = yes
|
||||||
frequently = 0
|
frequently = 0
|
||||||
hourly = 30
|
hourly = 36
|
||||||
daily = 90
|
daily = 90
|
||||||
monthly = 12
|
monthly = 0
|
||||||
yearly = 0
|
yearly = 0
|
||||||
|
|
||||||
### don't take new snapshots - snapshots on backup
|
### don't take new snapshots - snapshots on backup
|
||||||
|
@ -58,7 +58,7 @@ if __name__ == "__main__":
|
|||||||
subprocess.run(f"{restic_cmd_base} snapshots || {restic_cmd_base} init",
|
subprocess.run(f"{restic_cmd_base} snapshots || {restic_cmd_base} init",
|
||||||
shell=True, check=True)
|
shell=True, check=True)
|
||||||
subprocess.run(f"{restic_cmd_base} backup .", shell=True, cwd=backup_path, check=True)
|
subprocess.run(f"{restic_cmd_base} backup .", shell=True, cwd=backup_path, check=True)
|
||||||
subprocess.run(f"{restic_cmd_base} forget --prune --keep-daily 90 --keep-monthly 12",
|
subprocess.run(f"{restic_cmd_base} forget --prune --keep-daily 30 --keep-monthly 3",
|
||||||
shell=True, check=True)
|
shell=True, check=True)
|
||||||
subprocess.run(f"{restic_cmd_base} check", shell=True, check=True)
|
subprocess.run(f"{restic_cmd_base} check", shell=True, check=True)
|
||||||
|
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
marker: "# {mark} ANSIBLE MANAGED BLOCK SYSTEM #"
|
marker: "# {mark} ANSIBLE MANAGED BLOCK SYSTEM #"
|
||||||
block: |
|
block: |
|
||||||
[bpool/BOOT]
|
[bpool/BOOT]
|
||||||
use_template = production
|
use_template = system
|
||||||
recursive = yes
|
recursive = yes
|
||||||
process_children_only = yes
|
process_children_only = yes
|
||||||
|
|
||||||
[rpool/ROOT]
|
[rpool/ROOT]
|
||||||
use_template = production
|
use_template = system
|
||||||
recursive = yes
|
recursive = yes
|
||||||
process_children_only = yes
|
process_children_only = yes
|
||||||
|
|
||||||
[rpool/home]
|
[rpool/home]
|
||||||
use_template = production,home
|
use_template = system,home
|
||||||
recursive = yes
|
recursive = yes
|
||||||
process_children_only = yes
|
process_children_only = yes
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user