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

Исходное сообщение
"Ерунда с logrotate "

Отправлено schess , 11-Ноя-04 11:36 
Перечитал все что есть по поиску на opennetb на форуме и в документации. ничего не нашел что качается моей проблемы.
Есть скрипт ftploader который скидывает зазипованные (!!!) логи с одного сервера на другой. есть скрипт logrotate который находится в папке cron.dayli и который просто занимается ротацией логов.
Но он почему во-первых не ротирует логи а во-вторых приводит к тому что squid перестает писать в логи!
crontab :
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin/bin:/usr/lb/news/bin:/bin
MAILTO=root

-*/15 * * * *    root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
59 *  * * *    root  rm -f /var/spool/cron/lastrun/cron.hourly
14 4  * * *    root  rm -f /var/spool/cron/lastrun/cron.daily
29 4  * * 6    root  rm -f /var/spool/cron/lastrun/cron.weekly
44 4  1 * *    root  rm -f /var/spool/cron/lastrun/cron.monthly
57 6  * * *    root  ~/ftploader >/var/log/squid-mess.log 2>&1
58 *  * * *    root  /usr/sbin/ntpdate 192.168.3.2 >/var/log/ntpdate.log 2>&1

Все окончания строк - вставлены.
logrotate -
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

Проще скритпа не найти!
logrotate.conf -

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

# uncomment these to switch compression to bzip2
#compresscmd /usr/bin/bzip2
#uncompresscmd /usr/bin/bunzip2

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp -- we'll rotate them here
#/var/log/wtmp {
#    monthly
#    create 0664 root utmp
#    rotate 1
#}

# system-specific logs may be also be configured here.

Ну и соответственно -
squid для logrotate

/var/log/squid/cache.log {
    compress
    dateext
    maxage 365
    rotate 99
    size=+1024k
    notifempty
    missingok
    create 640 squid root
    postrotate
     /etc/init.d/squid reload
    endscript
}

/var/log/squid/access.log {
    compress
    dateext
    maxage 365
    rotate 99
    size=+4096k
    notifempty
    missingok
    create 640 squid root
    postrotate
     /etc/init.d/squid reload
    endscript
}

/var/log/squid/store.log {
    compress
    dateext
    maxage 365
    rotate 99
    size=+4096k
    notifempty
    missingok
    create 640 squid root
    postrotate
     /etc/init.d/squid reload
    endscript
}

Вроде все правильно - но по какой то причине после ежедневной ротации логов squid перестает записывать access.log!
то есть логи не ведутся!
более того почемуто ротация приводит к тому что файлы не сжимаются а просто кидаются в папку с логами с именем access.log-20041110 (f должны сжиматься и имя соответственно должно быть access.log-20041110.gz!!!

Где искать ошибку?


С уважением schess.

PS наверное все-таки много написал.


Содержание

Сообщения в этом обсуждении
"Ерунда с logrotate "
Отправлено schess , 11-Ноя-04 15:33 
Неужели ни у кого не было проблем с logrotate?

"Ерунда с logrotate "
Отправлено schess , 12-Ноя-04 10:21 
После долгих перетрубаций (=)) заметил что если выполняю скрипты вручную тогда они нормально выполняются и logrotate работает.
но если задача висит в crone'е тогда она не выполняется корректно...
то есть если она висит в папке cron.dayli - тогда скрипт выполняется некорректно.

в чем может быть проблема!

PS - приятно общаться сам с собой...


"Ерунда с logrotate "
Отправлено Russian , 24-Фев-05 09:58 

у меня  сервак неожиданно стал тормозить, резко переставло хватать памяти, начинаешь смотреть запущенные процессы (ps axw) и видищь такие строки:

13013? S 0:00 awk -v progname=/etc/cron.daily/logrotate progname { ????? print progname ":\n"????? progname=" ";?????  }???

и еще

13014 ? R 2357:56 /usr/sbin/logrotate /etc/logrotate.conf

таких строк было много, поубивал все процессы с logrotate, вроде сервак не тормозит, память освободилась, но на следующий день все начинается по новой. Как только по cron-у запускается logrotate --он "виснет" и все что стоит по cron-у за ним не выпонляется.
Причем это  случилось само-собой  после года успешной работы.
У меня такое подозрение, что со временем что-то накапливается , может логи самого logrotate-а, которые он не ротирует, и он их долго грузит, вообщем не знаю, а проблема не решена, каждое утро теперь начинаю с убивания этих процессов.
Ты еще у себя не нашел ничего????