NAS Synology автоматическое удаление старых файлов через bash скрипт

11.10.2019

NAS Synology

Данную задачу я буду реализовывать на том сервере, который у меня есть в данный момент: Synology RS2416+ с операционной системой конечно же DSM но версии 6.2-23739. Хотя на всех предыдущих и последующих версиях данный метод будет себя чувствовать просто замечательно и работать как часы!

Немного о методе

Так как система DSM (DiskStation Manager) основана на всеми любимом Linux, то и прекрасно понимает bash команды. Собственно мы собираемся прописать простейший скрипт для автоматического удаления файлов старше N количества дней. Вообще удаление старых файлов при резервном копировании не менее важная функция после создания самого резервного копирования. Думаю вопросов "Почему" у читающего человека не должно возникать.

Пишем скрипт для планировщика задач Synology

Для написания скрипта будем использовать команду FIND, так как у неё очень гибкие возможности. Если есть желание более подробно с ней ознакомится, то не составит труда эту информацию найти через поисковик. 😎 Я для вас подготовил небольшую фичу для формирования скрипта (смотрите ниже). Пример скрипта планировщика Synology:


find /volume1//ИМЯ_ДИРЕКТОРИИ/ -mmin +10080 -delete

Верхний скрипт удаляет ☕ только файлы, а если вам необходимо удалить директории вместе с файлами старше N дней, то вам необходим скрипт ниже

find /volume1//ИМЯ_ДИРЕКТОРИИ/ -type d -mmin +10080 -exec rm -rf {} \;

Почему в минутах? Точно не знаю почему, но -mtime +7 никак не хотел работать. Выводилась ошибка:

find: `+7': No such file or directory

А так, mmin это минуты, mtime это дни.

Настройка расписания скрипта удаления старых файлов с NAS Synology

И так. Скрипт есть, осталось дело за малым — настройка планировщика задач. Заходим на NAS Synology и далее в раздел Панель управления 👉🏻 Планировщик задач 👉🏻 Создать 👉🏻 Запланированная задача 👉🏻 Скрипт, заданный пользователем Даём имя скрипту в основной вкладке, а затем вставляем сгенерированный ранее нами скрипт в поле Скрипт, заданный пользователем по вкладке Настройки задач. Теперь настраиваем расписание через вкладку Расписание (логично же 😂). Думаю там у вас вопросов не возникнет, а если вдруг, то пишите в комментарии!

Панель управления NAS Synology
Панель управления NAS Synology
Расписание задачи
Расписание задачи

Если вы затрудняетесь на каком у вас разделе лежит та или иная папка общего доступа, то вы можете посмотреть тут: Панель управления 👉🏻 Папка общего доступа. Там под названием каждого каталога будет указано на каком разделе он находится!

Заключение

Вот и всё! Вы за 5 минут настроили скрипт удаления старых файлов с NAS сервера Synology по расписанию. Было просто.

Автору на кофе ☕ или просто поднять мотивацию писать больше статей для вас 😉 !
Отдельное спасибо всем, кто отправляет донатики 😀! Очень приятно и неожиданно. Благодаря вам сайт может и в дальнейшем обходиться без рекламных баннеров.
17134