Logrotate на “не всегда в” системе

У меня есть несколько систем Ubuntu 16.04 и 18.04, чьи не имеют никаких определенных операционных часов, например, рабочий стол, ноутбук или карлик VMs по требованию. Каковы правильные пути, и инструменты для автоматического вращения входит в систему их, f.e. запуск пропущенных выполнений logrotate сразу на запуске?

1
задан 15 January 2019 в 13:18

3 ответа

Не сделайте Ничего Специального. Ubuntu уже настраивается для этого.

Ubuntu включает anacron, который умно отслеживает задания крона и инициировал пропущенные задания, когда система затем становится доступной.

Anacron уже отслеживает ежедневные задания в/etc/cron.daily, включая logrotate.

Пример: Если VM Ubuntu будет закрыт во вторник и запущен снова в пятницу, то anacron выполнит один набор ежедневных заданий крона спустя несколько минут после того, как VM завершил начальную загрузку в пятницу. Время суток в пятницу не имеет значения - anacron, решит, что более чем 24 часа протекли начиная с последнего ежедневного задания.

3
ответ дан 3 December 2019 в 06:50

Просто выполняйте logrotate вызов каждый час (вставленным конфигурация к /etc/cron.hourly/) и настройте вращение согласно Вам желание каждой конфигурации, например, добавив weekly опция в конфигурации logrotate. Как это logrotate задание запускает каждый наш, но будет действовать на файл журналов только один раз в неделю.

Документация Logrotate

1
ответ дан 3 December 2019 в 06:50

Быстрое исправление должно добавить/etc/cron.daily/logrotate сценарий к/etc/rc.local сценарию. Таким образом,/etc/cron.daily/logrotate выполняет каждую начальную загрузку, поворачивает журналы, если не были недавно повернуты, и ничего не поворачивает, если журналы были всегда недавно повернуты. Затем регулярный/etc/cron. задания */в действительности, если система онлайн достаточно долго. Протестированный на Ubuntu 16.04 LTS и 18.04 LTS.

0
ответ дан 3 December 2019 в 06:50

Другие вопросы по тегам:

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