Как написать задание cron для архивации файлов журнала каждую ночь?

Как написать задание cron для архивации файлов журнала каждую ночь?

Я предполагаю, что это относительно просто, но мои навыки написания скриптов оболочки не столь хороши, поэтому я надеюсь получить некоторую помощь.

У меня есть задача, которая запускается каждый час и добавляет свой вывод в файл журнала. Я хотел бы перемещать этот файл журнала каждую ночь, чтобы у скрипта был пустой файл для работы, и чтобы было легче просматривать журналы, когда мне нужно их проверить.

Поэтому мне нужен сценарий, который движется

/var/log/my.log

к

/var/log/my.log.2 или my.log.yyyy.mm.dd или что-то в этом роде.

Как мне это сделать довольно легко?

решение1

Вам захочется проверитьlogrotateкоторый устанавливается по умолчанию (или легко через менеджер пакетов) почти на каждом крупном дистрибутиве Linux. Довольно легко составить простую запись конфигурации для ротации вашего файла журнала — все, что вам нужно знать о параметрах конфигурации, есть на этой странице руководства.

Некоторые дистрибутивы используют специальный /etc/logrorate.d/каталог для указания отдельных файлов logrotate для каждого файла журнала (или связанной группы файлов журнала). Если ваш дистрибутив использует этот метод, это так же просто, как создать соответствующим образом названный файл в этом каталоге с блоком конфигурации, как описано на странице руководства.

В противном случае вы можете просто добавить новый блок конфигурации в конец существующего /etc/logrotate.confфайла.

Связанный контент