Hi,
lxd-snapper is an application that takes snapshots.schedule
& snapshots.expiry
to the extreme - it allows to perform easy per-container(s) / per-project(s) snapshots with rich, Borg-style retention policies.
Say, you want to keep a handful of daily snapshots + a snapshot a week + a snapshot a month, but only for storage-oriented containers - no biggie!
policies:
databases:
included-instances: ['mysql']
keep-last: 4
files:
included-instances: ['nextcloud', 'owncloud']
keep-daily: 7
keep-weekly: 2
keep-monthly: 2
Say, you’re using projects to separate clients and you particularly care about some more:
policies:
all-clients:
keep-last: 4
important-clients:
included-projects: ['rich-client-a', 'rich-client-b']
keep-last: 32
… and much more - everything’s been described in the project’s readme.
I’ve been using it on my private server for a few months now and decided it’s time to share