Войти в SUSE Enterprise Server
Я не могу работать с этим фиктивным файлом конфигурации (я поместил его в etc/logrotate.d):
/var/log/test_log/mylogfile {
copytruncate
dateext
rotate 3
compress
missingok
size=+2
}
Я пишу в журнал (echo "hello world" > /var/log/test_log/mylogfile), но он просто не работает.
Выполнение cat / etc / crontab показывает:
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
Позже я перенаправил вывод на таким образом:
-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons > /var/log/test_log/log_logrotate
Но ничего не случилось.
Должен ли я добавить еще одну строку в etc / crontab, чтобы cron.dayly происходил примерно так же, как в Ubuntu:
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
или проблема может быть в файле /usr/lib/cron/run-crons??
Я нахожусь под SUSE Linux Enterprise Server 11 SP2
2 ответа
Я думаю, что нашел ответ на свой вопрос. Проблема была хитрой, потому что "новые версии Cron для Linux могут работать не так, как в старых версиях", к чему я привык.
Похоже, что теперь Cron состоит из скрипта usr / lib / cron / run-crons, который проверяет, является ли cron.dayly в /var/spool/cron/lastrun/ старше одного дня (по умолчанию он проверяет, больше ли он или ровно 1440 минут с момента последнего запуска). Или, если мы хотим, чтобы cron.dayly запускался в фиксированное время, мы должны установить DAILY_TIME
переменная в файле /etc/sysconfig/cron для времени (то есть:"12:00"), и она будет выполняться в это время ежедневно (в течение 15 минут).
Примечание (из комментариев /etc/sysconfig/cron): из-за того, что скрипт cron запускается только каждые 15 минут, он будет работать только в xx:00, xx:15, xx:30, xx:45, а не в точное время, которое вы установили.
Я нашел ответ здесь:
logrotate запускается либо когда задан период времени weekly
, daily
и так далее, или в случае размера, когда размер файла превышает заданный размер.
Просто положи туда size=2
, вместо size=+2
и это должно работать.
размер размер
Файлы журнала вращаются, когда они становятся больше, чем размер байтов. Если размер сопровождается М, размер считается в мегабайтах. Если используется k, размер указывается в килобайтах. Таким образом, размер 100, размер 100k и размер 100M действительны.