Hollyshit 0 Опубликовано 7 июня Жалоба Рассказать Опубликовано 7 июня Добрый день. Помогите создать определенный скрипт удаления старых файлов с расширением zip с Synology. Хочу чтобы скрипт удалял старые файлы (более 14 дней), но при этом оставлял 2 дня (например последние) бэкапа, если по какой либо причине нет новых бэкапов в папке с бэкапами. Например, если по какой то причине перестали выгружатся на Synology свежие бэкапы, то при ежедневном выполнении скрипта (указанного ниже), через 14 дней удалятся все копии. А я хочу чтобы скрипт при таком раскладе, не удалял все имеющиеся на нем бэкапы, а сохранил 2 дня последних бэкапов. Сам скрипт удаления файлов я нашел: find /volume1/base1c/BASE/ -mtime +14 -exec rm -rf {} \; Подскажите как дописать в скрипте мои вышеуказанные условия? Буду признателен. Цитата Ссылка на сообщение Поделиться на другие сайты
padla 0 Опубликовано 7 июня Жалоба Рассказать Опубликовано 7 июня 10 минут назад, Hollyshit сказал: find /volume1/base1c/BASE/ -mtime +14 -exec rm -rf {} \; Он не *.zip удалит, а все файлы Как часто бекапятся данные? Просто N бекапов оставлять - не годно? Цитата Ссылка на сообщение Поделиться на другие сайты
Hollyshit 0 Опубликовано 7 июня Автор Жалоба Рассказать Опубликовано 7 июня 3 минуты назад, padla сказал: Он не *.zip удалит, а все файлы Как часто бекапятся данные? Просто N бекапов оставлять - не годно? у меня на серваке 1с делаются бэкапы каждый день вечером и потом через synology drive сливаются на NAS. в скрипте бэкапирования на серваке 1С перед архивированием базы, делаю проверку на 14 дней и все что больше удаляю из папки с бэкапами на серваке 1С. да, указанный мною срипт удаляет все файлы, а мне нужно указать zip ну и оставить 2 обязатьльных бэкапа если больше не будет свежих бэкапов копироватся. А что значит N бекапов оставлять? Цитата Ссылка на сообщение Поделиться на другие сайты
padla 0 Опубликовано 7 июня Жалоба Рассказать Опубликовано 7 июня В Вашем случае, если вместо условия (файл старше 14 дней и есть свежие бекапы) приметь условие (после сортировки по времени удалить 15-тый и более ранние файлы) cd _ваша_директория_ && (ls -1tp *.zip|grep -v "/"|tail -n +15|xargs rm -rf) && cd - Если в имени пробелы или спец.символы, то надобно немного подправить команду. Ну и да, подразумевается что в одной директории - бекапы с одного источника. Цитата Ссылка на сообщение Поделиться на другие сайты
Hollyshit 0 Опубликовано 7 июня Автор Жалоба Рассказать Опубликовано 7 июня 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, да еще и условие. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.