Привет всем!
Возможно ли с помощю logrotate добится следующей схемы:в 00:00 ч. +-какие-то минуты !ВСЕ! старые лог файлы, архивируются и перемещ. в папке куда-то, на их место по мере поступления логов создаются новые, и так до следующей ночи в течение 60 дней. Где-то я что-то недопрописал, помогите исправится:0 * * * * /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf
/var/somelog/*.log {
daily
missingok
rotate 60
olddir /bkf/log/old/somelog
compress
delaycompress
notifempty
create 600 root
sharedscripts
postrotate
[ ! -f /var/run/syslog.pid ] || kill -USR1 `cat /var/run/syslog.pid`
endscript
}
>[оверквотинг удален]
> olddir /bkf/log/old/somelog
> compress
> delaycompress
> notifempty
> create 600 root
> sharedscripts
> postrotate
> [ ! -f /var/run/syslog.pid ] || kill -USR1 `cat /var/run/syslog.pid`
> endscript
> }так а что именно не делается, а что делается?
/var и /bkf - на одном разделе?
> так а что именно не делается, а что делается?
> /var и /bkf - на одном разделе?Описываю: нужно инфо за весь день с 00:00ч по 00:00ч на след.день, после этого времени файл перемещается в 'olddir', а на его место создается по мере поступления логов, новый файл.
Ситуация счас такова: прихожу с утра, а там "мы ротейтимся как хотим..(твои фишки нам пофиг ) есть и старые и новые файлы, д даже с позапрошлого дня.ls -l
-rw------- 1 root wheel 116 31 May 16:50 vasya.log
-rw------- 1 root wheel 0 27 May 00:00 sasha.log
-rw------- 1 root wheel 0 24 May 04:00 misha.log (почему тут в 04ч произошела очистка????)Хотелось бы увидет такую картину:
ls -l
-rw------- 1 root wheel 116 31 May 00:00 vasya.log
-rw------- 1 root wheel 0 24 May 00:00 misha.log
>[оверквотинг удален]
> фишки нам пофиг ) есть и старые и новые файлы, д
> даже с позапрошлого дня.
> ls -l
> -rw------- 1 root wheel 116 31
> May 16:50 vasya.log
> -rw------- 1 root wheel
> 0 27 May 00:00 sasha.log
> -rw------- 1 root wheel
> 0 24 May 04:00 misha.log (почему тут в 04ч
> произошела очистка????)/etc/crontab?
> Хотелось бы увидет такую картину:
> ls -l
> -rw------- 1 root wheel 116 31
> May 00:00 vasya.log
> -rw------- 1 root wheel
> 0 24 May 00:00 misha.loghttp://www.opennet.me/man.shtml?topic=logrotate&russian=0&ca...
delaycompress
Отложить сжатие предыдущего файла журнала до следующего циклического сдвига. Эта директива имеет силу только в комбинации с compress. Это может быть использовано в том случае, если некой программе нельзя указать закрыть её файл журнала, и таким образом, можно некоторое время продолжать запись в предыдущий файл журнала.
notifempty
Не сдвигать журнал, если он пуст (это переопределяет параметр ifempty).
> delaycompress
> notifemptyу меня вроде они прописаны!
(...битва продолжается!)
>> delaycompress
>> notifempty
> у меня вроде они прописаны!
> (...битва продолжается!)вот именно что прописаны.
Вроде справился, manы рулят, но ..н, лень их читать... Приложу рабочий конфиг под моим задачам, если кому-то пригодится:crontab
0 0 * * * logrotate -f logrotate.confsomelog.conf
/var/somelog/*.log {
nocreate
minsize 0
missingok
rotate 60
olddir /bkf/log/old/somelog
compress
delaycompress
sharedscripts
postrotate
[ ! -f /var/run/syslog.pid ] || kill -USR1 `cat /var/run/syslog.pid`
endscript
}
> Привет всем!
> Возможно ли с помощю logrotate добится следующей схемы:в 00:00 ч. +-какие-то минутывозможно - надо в cron прописать другое время старта logrotate
>[оверквотинг удален]
> 0 * * * * /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf
> /var/somelog/*.log {
> daily
> missingok
> rotate 60
> olddir /bkf/log/old/somelog
> compress
> delaycompress
> notifempty
> create 600 rootа если сервис нормально настроен и запущен не от root он хрен в файл с таким доступом запишет. более того, create нужно исключительно редко, для небольшого набора наиболее используемых сервисов - остальные (как правильные) при отсутствии лог-файла создают его сами.
> sharedscripts
> postrotate
> [ ! -f /var/run/syslog.pid ] || kill -USR1 `cat /var/run/syslog.pid`
> endscript
> }ИТОГО:
под одну гребенку прваила для нормального logrotate не уложишь никогда.