Как logrotate точно “ежедневно” обрабатывает?

Я всегда использую Backkup/Restore - это менее агрессивно, это сохраняет Ваш DB онлайн, и это довольно защищено от неправильного использования - я живу завещание к этому.

Я предполагаю, что Вы выполняете резервные копии daily/weekly/whatever..., что могло быть легче, чем простое копирование резервных копий на Ваш тестовый сервер? [Очевидно, на уровне 100 ГБ, это будет требовать времени!]

30
задан 4 November 2010 в 16:03
3 ответа

Я полагаю, что это - содержание файла состояния, который является моим случаем, /var/lib/logrotate.status. Каждый файл имеет одну строку, которая является датой, в которую это было в последний раз повернуто; при выполнении logrotate в такую дату, что данный файл подлежит вращению, учитывая количество дней между текущей датой и датой в файле (1 для ежедневной газеты, 7 для еженедельника, и т.д.), файл будет повернут.

logrotate, кажется, не заботится, в какое время изо дня он выполняется; даже если это обычно достигает 2 355, если бы необходимо было выполнить его в 0130 то вместо этого, это все еще повернуло бы файлы, отмечаемые ежедневно и в последний раз сделанные вчера; но сделавший, таким образом, это поместило бы сегодняшнюю дату в файл состояния (против любых повернутых файлов), таким образом, второе выполнение в 2 355 ничего не сделает.

32
ответ дан 28 November 2019 в 19:59

Из logrotate страницы справочника:

Обычно, logrotate выполняется как ежедневное задание крона. Это не изменит журнал несколько раз через один день, если критерий того журнала не будет основан на размере журнала, и logrotate выполняется несколько раз каждый день, или если-f или - опция силы не используется.

11
ответ дан 28 November 2019 в 19:59

Он работает по расписанию crontab. Вам просто нужно найти расписание crontab с настроенным logrotate. Обычно это ежедневник /etc/cron.daily/. Общие расписания crontab доступны в /etc/crontab.

Пример ниже:

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly```
1
ответ дан 2 March 2021 в 15:50

Теги

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