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

Исходное сообщение
"logrotate по понедельникам а не воскресеньям"

Отправлено AlexeyA , 31-Окт-05 17:51 
подскажите как сделать ротацию логов по понедельникам а не воскресеньям.
система Centos4.1 (RHEL4). скрипты стандартные.
запуск скрипта ротации производится ежедневно
из /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

Ротация логов происходит 1 раз в неделю в соответствии с настройкой /etc/logrotate.conf - weekly а также правилами /etc/logrotate.d/*
Последняя проведенная ротация отражается в файле /var/lib/logrotate.status и имеет вид
"/var/log/messages" 2005-10-23

пытался изменить здесь дату так чтоб следующая ротация была в понедельник
но она все равно была в воскресенье.

как же заставить делать ротацию  ВС-ПН вместо СБ-ВС ???


Содержание

Сообщения в этом обсуждении
"logrotate по понедельникам а не воскресеньям"
Отправлено AlexeyA , 02-Ноя-05 12:00 
что, никто не знает как изменить значение weekly на понедельник и самое главное где ?



"logrotate по понедельникам а не воскресеньям"
Отправлено Nimdar , 02-Ноя-05 12:07 
В cron-е
man crontab

"logrotate по понедельникам а не воскресеньям"
Отправлено AlexeyA , 02-Ноя-05 12:45 
я же написал что скрипт запускается из cron.daily. в crontab я могу поправить запуск для weekly по пн, но тогдапридется скрипт логротате перемещать тоже в cron.weekly. а не хотелось бы.


"logrotate по понедельникам а не воскресеньям"
Отправлено jonatan , 02-Ноя-05 13:11 
man logrotate
...
       weekly
              Log files are rotated if the current weekday is less then  the  weekday  of  the  last
              rotation  or  if more then a week has passed since the last rotation. This is normally
              the same as rotating logs on the first day of the week, but it works better if  logro-
              tate is not run every night.
...

Т.е., насколько я понял, ротация происходит, если текущий день недели меньше того, в который выполнялась последняя ротация. День недели, а не число месяца. А у буржуев неделя начинается с Воскресенья.


"logrotate по понедельникам а не воскресеньям"
Отправлено AlexeyA , 02-Ноя-05 13:25 
да это я читал.
наверно зашито в коде программы что начало недели воскресенье...

"logrotate по понедельникам а не воскресеньям"
Отправлено jonatan , 02-Ноя-05 13:43 
Некоторые предлагают патчи, чтобы исправить первый день недели в glibc. Например
http://sources.redhat.com/ml/libc-alpha/2003-05/msg00154.html