Do I need to specify daily if I'm specifying a maxage of 1?
Yes, you need daily as you want this section to execute everyday. This control how execution frequency of the section, while maxage control how long rotated files are kept. They are 2 different things.
What exactly is missingok doing?
missingok means logrotate will not complain/generate error if the log file for rotation does not exist. If this is not specified and the log file intended for rotation is missing, logrotate will generate an error log.
Do I even need copytruncate if I'm specifying daily/maxage 1?
If copytruncate is working for you now, don't change it. It apply to original log file
copytruncate instruct logrotate to creates the copy of the original file (i.e rotate the original log file) and truncates the original file to zero byte size. This helps the respective service that belongs to that log file can write to the proper file.
To run logrotate at mid-night
There are 2 methods to do it.
Method 1 - Change when daily cron is run
Look for following lines in /etc/crontab
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Change 25 6 (means 6:25AM), to 0 0. This also change ALL daily cron job starting time to mid-night.
Method 2 - Use custom crontab line
Move logrotate out of default daily cron schedule
mv /etc/cron.daily/logrotate /etc/logrotate.cronjob
Create custom cron job. Add following line into /etc/crontab
0 0 * * * root /etc/logrotate.cronjob
logrotate конфигурация и исполнение
8622
pnongrata
Я пытаюсь настроить 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
запускается автоматически каждый день, но не уверен, как это настраивается. Заранее спасибо.
1 ответ на вопрос
10
John Siu
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
6
Просмотр журнала в Windows
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux