Перейти к содержанию
Форум русской поддержки продукции Synology

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


Рекомендованные сообщения

Добрый день.
Помогите создать определенный скрипт удаления старых файлов с расширением zip с Synology.
Хочу чтобы скрипт удалял старые файлы (более 14 дней), но при этом оставлял 2 дня (например последние) бэкапа, если по какой либо причине нет новых бэкапов в папке с бэкапами.
Например, если по какой то причине перестали выгружатся на Synology свежие бэкапы, то при ежедневном выполнении скрипта (указанного ниже), через 14 дней удалятся все копии. 
А я хочу чтобы скрипт при таком раскладе, не удалял все имеющиеся на нем бэкапы, а сохранил 2 дня последних бэкапов.

Сам скрипт удаления файлов я нашел:

find /volume1/base1c/BASE/ -mtime +14 -exec rm -rf {} \;

Подскажите  как дописать в скрипте мои вышеуказанные условия?

Буду признателен.

Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, Hollyshit сказал:

find /volume1/base1c/BASE/ -mtime +14 -exec rm -rf {} \;

Он не *.zip удалит, а все файлы

Как часто бекапятся данные? Просто N бекапов оставлять - не годно?

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, padla сказал:

Он не *.zip удалит, а все файлы

Как часто бекапятся данные? Просто N бекапов оставлять - не годно?

у меня на серваке 1с делаются бэкапы каждый день вечером и потом через synology drive сливаются на NAS.
в скрипте бэкапирования на серваке 1С перед архивированием базы, делаю проверку на 14 дней и все что больше удаляю из папки с бэкапами на серваке 1С.

да, указанный мною срипт удаляет все файлы, а мне нужно указать zip ну и оставить 2 обязатьльных бэкапа если больше не будет свежих бэкапов копироватся.
А что значит N бекапов оставлять?

Ссылка на сообщение
Поделиться на другие сайты

В Вашем случае, если вместо условия (файл старше 14 дней и есть свежие бекапы) приметь условие (после сортировки по времени удалить 15-тый и более ранние файлы)

cd _ваша_директория_ && (ls -1tp *.zip|grep -v "/"|tail -n +15|xargs rm -rf) && cd -

Если в имени пробелы или спец.символы, то надобно немного подправить команду. Ну и да, подразумевается что в одной директории - бекапы с одного источника.

Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, padla сказал:

В Вашем случае, если вместо условия (файл старше 14 дней и есть свежие бекапы) приметь условие (после сортировки по времени удалить 15-тый и более ранние файлы)


cd _ваша_директория_ && (ls -1tp *.zip|grep -v "/"|tail -n +15|xargs rm -rf) && cd -

Если в имени пробелы или спец.символы, то надобно немного подправить команду. Ну и да, подразумевается что в одной директории - бекапы с одного источника.

Примного благодарен.
Завтра проверю на всех устройствах и отпишусь.


Это ведь почему я еще это затеял, потому что пару недель назад перестала работать ротаци резервных копий, которая указывается на папаках в Synology Drive Server.

Возможно всему вина DSM 7

Я как раз в тот период и обновился.

Да и потом период ротации там указывается не совсем удобный. 7, 30, 60 и 120 дней. а мне нужно 14, да еще и условие.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в этой теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...
×
×
  • Создать...