У меня есть cron для резервного копирования 3 файлов каждый час, это резервные копии SQL - в формате name-name-bak-2015-12-1919: 30: 01. sql
Мне нужен способ ротации и удаления старых, скажем, каждые 7 дней?
Подумал об использовании ротации журналов и ищу совета
Я использую Debian 8
Спасибо
Крис
Для добавления лог-скрипта можно создать файл и добавить его в /etc/logrotate.d/
Это содержимое файлового скрипта:
/yourfolder/name-name-bak-*.sql {
weekly
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root root
}
В этом случае:
еженедельно
он будет выполняться один раз в неделюmissok
Если лог-файл отсутствует, переходите к следующему без выпуска...
при появлении сообщения об ошибкеповернуть 14
Журнальные файлы перед их удалением поворачиваются 14 раз, либо
отправлен по адресу, указанному в почтовой директиве. Если счет идет
0, старые версии удаляются, а не поворачиваются.сжатие
Старые версии лог-файлов по умолчанию сжаты с помощью gzip.delaycompress
откладывание сжатия предыдущего лог-файла на следующую rota-
цикл. Это имеет эффект только при использовании в сочетании с
сжимать. Его можно использовать, когда какая-то программа не может быть сказана.
закрыть свой лог-файл и, таким образом, продолжить запись в пре-vi-
ous лог-файл некоторое время.notifempty
Не вращайте лог, если он пустой создайте 640 root
Установите группу пользователей и права на вращающиеся файлыдополнительная информация на man-странице : http://www.linuxcommand.org/man_pages/logrotate8.html
Для запуска вручную (или тестирования) вашего скрипта можно воспользоваться следующей командой:
logrotate --force /etc/logrotate.d/yourfilename