У меня есть сервер freenas в качестве сервера резервного копирования - каждый вечер он создает моментальный снимок набора данных, а через несколько минут запускается задача rsync для резервного копирования данных на мои freenas.
В веб-интерфейсе у меня есть только возможность автоматически создавать снимки и автоматически удалять их через определенное время.
Есть ли у кого-нибудь скрипт для тонких снимков? Я хочу иметь только ежедневный снимок за последнюю неделю, еженедельный снимок за последние 6 недель и ежемесячный снимок за 2 месяца до этих 6 недель ...
(Данные непостоянны, поэтому прореживание снимков позволит сэкономить место.)
Вы можете использовать скрипт, написанный fracai на форумах Freenas. Скрипт размещен на github, он называется zfs-rollup. Вам нужен только файл rollup.py. Ссылки в конце.
Я использовал его много лет, и он работает очень хорошо. Вы указываете несколько параметров в командной строке: 1) префикс (фильтр) для имен снимков, которые следует удалить, 2) набор данных, в котором он должен искать (он будет рекурсивным), и 3) интервалы для каждого, который ты хочешь сохранить.
В приведенном ниже примере из набора данных BACKUP / nas будут удалены снимки с префиксом «auto», которые не соответствуют 7 дневным, 4 недельным и 3 месячным временным рамкам.
rollup.py -i ежедневно: 7, еженедельно: 4, ежемесячно: 3 -p auto -r BACKUP / nas
Вы можете без проблем установить это в графическом интерфейсе Freenas. Я лично указываю разные задания cron для разных наборов данных, поэтому я могу хранить разное количество резервных копий в зависимости от моих типов данных.
Форум / ресурс Freenas, описывающий назначение скриптов
Источник скрипта на Github