lxd-snapper is an application that takes
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