URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91680
[ Назад ]

Исходное сообщение
"logrotate tunning"

Отправлено raba , 31-Май-11 14:55 
Привет всем!
Возможно ли с помощю 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
}


Содержание

Сообщения в этом обсуждении
"logrotate tunning"
Отправлено reader , 31-Май-11 15:52 
>[оверквотинг удален]
> 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 - на одном разделе?


"logrotate tunning"
Отправлено raba , 31-Май-11 17:15 
> так а что именно не делается, а что делается?
> /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


"logrotate tunning"
Отправлено reader , 31-Май-11 17:56 
>[оверквотинг удален]
> фишки нам пофиг ) есть и старые и новые файлы, д
> даже с позапрошлого дня.
> 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.log

http://www.opennet.me/man.shtml?topic=logrotate&russian=0&ca...

delaycompress
    Отложить сжатие предыдущего файла журнала до следующего циклического сдвига. Эта директива имеет силу только в комбинации с compress. Это может быть использовано в том случае, если некой программе нельзя указать закрыть её файл журнала, и таким образом, можно некоторое время продолжать запись в предыдущий файл журнала.
notifempty
    Не сдвигать журнал, если он пуст (это переопределяет параметр ifempty).


"logrotate tunning"
Отправлено raba , 31-Май-11 18:07 
> delaycompress
> notifempty

у меня вроде они прописаны!

(...битва продолжается!)



"logrotate tunning"
Отправлено reader , 31-Май-11 20:01 
>> delaycompress
>> notifempty
> у меня вроде они прописаны!
> (...битва продолжается!)

вот именно что прописаны.


"logrotate tunning"
Отправлено raba , 02-Июн-11 10:44 
Вроде справился, manы рулят, но ..н, лень их читать... Приложу рабочий конфиг под моим задачам, если кому-то пригодится:

crontab
0 0 * * * logrotate -f logrotate.conf

somelog.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 tunning"
Отправлено LSTemp , 09-Июн-11 04:18 
> Привет всем!
> Возможно ли с помощю 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 не уложишь никогда.