Зависит ли logrotate от cron?
На странице управления logrotate они говорят:
Msgstr "Обычно logrotate запускается как ежедневное задание cron".
Означает ли это, что logrotate использует cron (или выполняется cron)? Если так, значит ли это, что если я не настрою задание cron через crontab (например), logrotate не будет работать?
2 ответа
Вы можете запустить logrotate вручную без cron.
logrotate <configuration file>
Однако, если вы хотите запускать logrotate по расписанию, да, вам понадобится cron.
Ваш менеджер пакетов должен создать расписание по умолчанию в /etc/cron.daily/logrotate, которое запускает logrotate с конфигурацией по умолчанию /etc/logrotate.conf. Вы также можете поместить свои пользовательские конфигурации в /etc/logrotate.d/, поскольку в конфигурации по умолчанию есть строка, включающая все конфигурации в этом каталоге.
include /etc/logrotate.d
Если вы хотите запустить logrotate с настраиваемым расписанием, вы можете поместить свою работу cron в /etc/cron.d/.
Например, это будет запускать logrotate с использованием конфигурации /etc/custom-logrotate.conf каждый день в два часа.
0 2 * * * root /usr/sbin/logrotate /etc/custom-logrotate.conf
Проверьте crontab гуру, если вам нужна помощь с выражением cron.
Да, обычно, cron ежедневно выполняет logrotate. Я зависит от вашего linux-дистрибутива, но нормальным является запуск cron.
Вы можете проверить наличие файла /etc/cron.daily/logrotate. Если это так, ваш дистрибутив использует cron для запуска logrotate.
Если вы используете docker, это может вызвать некоторые проблемы, в настоящее время cron не запускается внутри контейнера.