restic -r [REPO] forget 2590e1ba
restic -r [REPO] forget --tag Medoc --keep-last 10 --prune
restic -r [REPO] forget --tag Medoc --keep-last 10 --prune --dry-run
Если много разных тегов/хостов, можно добавить --host <имя_хоста>, чтобы фильтровать только для конкретного сервера
🔹--keep-last N – последние N бэкапов 🔹--keep-daily N – для последних N дней, в которых есть один или несколько снимков, сохранять только самый последний снимок за каждый день 🔹--keep-within-daily duration – сохранять по одному последнему снимку, сделанному в течение указанного duration. И так далее для разных временных отрезков. Наглядный типовой пример политики хранения: --keep-within-daily 7d --keep-within-weekly 1m --keep-within-monthly 1y Храним 7 дневных бэкапов, 4 недельных, 12 месячных.
restic -r [REPO] unlock
restic -r [REPO] forget --tag Medoc --keep-last 10 restic -r [REPO] forget --tag 1с --keep-last 10 restic -r [REPO] forget --tag SQL --keep-last 10 restic -r [REPO] forget --tag users --keep-last 10 |
Удаляются записи о лишних снапшотах по каждому тегу.
Реальные данные ещё остаются в хранилище, так что процесс быстрый.
Можно объединить в один запуск:
restic -r [REPO] forget --tag Medoc --tag 1с --tag SQL --tag users --keep-last 10
restic -r [REPO] prune
Перепаковываются и удаляются все неиспользуемые блоки.
Процесс может быть долгим, но выполняется редко.
После prune место на диске реально освобождается.