NAS Synology автоматическое удаление старых файлов через bash скрипт
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 и далее в раздел Панель управления 👉🏻 Планировщик задач 👉🏻 Создать 👉🏻 Запланированная задача 👉🏻 Скрипт, заданный пользователем Даём имя скрипту в основной вкладке, а затем вставляем сгенерированный ранее нами скрипт в поле Скрипт, заданный пользователем по вкладке Настройки задач. Теперь настраиваем расписание через вкладку Расписание (логично же 😂). Думаю там у вас вопросов не возникнет, а если вдруг, то пишите в комментарии!
Если вы затрудняетесь на каком у вас разделе лежит та или иная папка общего доступа, то вы можете посмотреть тут: Панель управления 👉🏻 Папка общего доступа. Там под названием каждого каталога будет указано на каком разделе он находится!
Заключение
Вот и всё! Вы за 5 минут настроили скрипт удаления старых файлов с NAS сервера Synology по расписанию. Было просто.