Поворот старых файлов

У меня есть cron для резервного копирования 3 файлов каждый час, это резервные копии SQL - в формате name-name-bak-2015-12-1919: 30: 01. sql

Мне нужен способ ротации и удаления старых, скажем, каждые 7 дней?

Подумал об использовании ротации журналов и ищу совета

Я использую Debian 8

Спасибо

Крис

-2
задан 10 December 2015 в 13:57
1 ответ

Для добавления лог-скрипта можно создать файл и добавить его в /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
0
ответ дан 5 December 2019 в 21:42

Теги

Похожие вопросы