Какие графики logrotate?

18

Я работаю над программой, которая создает большой файл журнала.

Я хочу справиться с этим с помощью logrotate.

Это конфигурация, в которую я положил /etc/logrotate.d/:

/var/log/myproject.log  {
 hourly
 maxsize 1
 rotate 6
 missingok
 notifempty
 compress
 nocreate
 copytruncate
 su www-data www-data 
}

( /var/log/myproject.logимеет владельца www-data)

команды

sudo logrotate -vf /etc/logrotate.conf

и

sudo logrotate -vf /etc/logrotate.d/myproject

поверните журнал правильно.

Однако после звонка их /etc/cron.hourlyпусто. Что означает, что logrotate не вызывается ежечасно.

  1. У меня гарантированно есть logrotateсценарий /etc/cron.daily?

  2. Проверяет ли скрипт частоту обновления файлов журнала. Т.е. , если у меня есть logrotateсценарий в /etc/cron.dailyи для некоторого файла журнала Xв /etc/logrotate.d/I набора weeklyнастроек, будет Xвращаться ежедневно или еженедельно?

  3. Могу ли я просто скопировать и вставить /etc/cron.daily/logrotateв /etc/cron.hourly/? Могу ли я вырезать и вставить?

  4. Должен ли я добавить 0anacronфайл в /etc/cron.hourly/?

  5. Должен ли я сделать что-то еще, чтобы включить почасовую регистрацию?

user2136963
источник
2
Совет для вопроса 1: посмотрите на выводgrep -r logrotate /etc/cron*
Гунтберта
@ Guntbert Я говорил это раньше, и я скажу это снова. Ты святой и герой.
Дарт Эгрегиус

Ответы:

10
  1. Нет.

  2. От man logrotate:

    Each  configuration  file  can  set  global  options (local definitions
    override global ones, and later definitions override earlier ones)
    

    Так да.

  3. Опять же из справочной страницы:

    hourly Log files are rotated every hour. Note that usually logrotate is
           configured  to  be  run  by  cron daily. You have to change this
           configuration and run logrotate hourly  to  be  able  to  really
           rotate logs hourly.
    

    Так что, да, вы должны переместить сценарий. Проверяя cron.dailyскрипт в моей системе, я думаю, что его перемещение должно работать нормально.

Мур
источник