Автоматичне створення ZFS снапшотів за розкладом у NAS4Free
Нещодавно зіткнувся з необхідністю автоматичного бекапа директорії, а вірніше Dataset (DTS ) нафайловому сервері на базіNAS4Free. Наявність снапшотів – відмінне рішення для ситуацій, коли необхідно оперативно відновити дані. Та й за великим рахунком,Снапшот - відмінний інструмент для надійної роботи з інформацією на сховищах. Нижче представлений простий скрипт на bash, який використовується ОС FreeBSD і відпрацьовує за розкладом (о 00:00 за МСК щодня), при цьому відбувається автоматичне видалення снапшотів старших 31 дня:
date=`date +20%g-%m-%e` # date gggg-mm-dd
olddate=`date -v-31d +20%g-%m-%e` # create date -31 day
Після цього додаємо цей файл у розклад - crontab -e з консолі сервера. Також додати завдання до планувальника (Cron ) можна через веб-інтерфейсNAS4Free :

Відкотитись на потрібну версію снапшота можна командою:
zfs rollback _назва_снапшота_
Відмінний варіант для відновлення окремого файлу: монтуємо снапшот у вказану директорію (папку) та витягуємо потрібні дані у штатному режимі (без відкату всього DTS):
zfs clone -o mountpoint=/шлях-до-папці-монтування назва-снепшота місце-зберігання-в-сторожі
Готово. Скрипт та його відпрацювання за розкладом для створення автоматичних снапшотів зазначених DTS виконані.