Я пытаюсь настроить logrotate
на вращение и удаление файлов журнала каждый день в полночь, но никогда не использовал его раньше. Итак: (а) я хочу подтвердить, что моя конфигурация верна, и (б) мне нужна помощь в автоматизации ежедневного выполнения в полночь.
Мое программное обеспечение создает большой файл журнала в /abs/path/to/log/myapp-log.txt
. Вот что я хотел бы случиться:
- Отметка времени каждого файла журнала с расширением даты в его имени
- В любой момент времени иметь только 1 файл журнала в
/abs/path/to/log/
; поэтому каждый раз, когда журнал вращается и создается новый файл журнала, удаляйте старый
logrotate.conf
:
/abs/path/to/log/myapp-log.txt {
daily
copytruncate
create 700 myUser myGroup
dateext
maxage 1
missingok
}
Несколько вещей, в которых я не уверен:
- Нужно ли указывать
daily
если я указываюmaxage
1? - Что именно делает
missingok
? Что-то о игнорировании системного предупреждения, если там нет файла журнала? Что произойдет, если я неmissingok
файл журнала, а файла журнала там нет? - Нужно ли мне использовать
copytruncate
если я указываюdaily
/maxage 1
? Эти три параметра кажутся немного излишними, но не уверены, какую роль играет каждый из них.
Во-вторых, как мне убедиться, что это происходит каждый день в полночь? Cron? Я спрашиваю только потому, что где-то читал, что /etc/cron.daily/logrotate
запускается автоматически каждый день, но не уверен, как это можно настроить. Заранее спасибо.