LINUX.ORG.RU
ФорумAdmin

Проблема с обнулением логов в SuSE 6.3


0

0

HELP! После отработки cron.daily логи, превысившие размер, определенный в /etc/logfiles, обнуляются. При этом они перестают вестись (остаются нулевыми) до перезагрузки. После перезагрузки все восстанавливается. Но происходит это не со всеми логами. Пока замечено только для /var/log/messages, mail и warn. Находящиеся в той же папке mgetty.* и wtmp нормально работают. С /var/spool/uucp/Log, Stats и Debug тоже все в порядке. Где рыть? Заранее благодарен!

anonymous

Logrotate по умолчанию перемещает log-файл (переименовывает в ***.log.1) а потом создает новый log-файл нулевой длины.
Некоторые программы продолжают писать в старый файл (***.log.1) эти программы надо перезапускать (кстати посмотри не писались ли новые данные в старые лог-файл) , посмотри в конфигах logrotate.
Вот пример взятый из man logrotate:
"/var/log/httpd/access.log" {
rotate 5
mail www@my.org
errors www@my.org
size=100k
postrotate <- команды выполняющиеся после обработки лога
/sbin/killall -HUP httpd <-вот эта строчка перезапускающая веб сервер (ну вообщето он не совсем "перезапускается")
endscript
}
Как вариант можно копировать файл ***.log -> ***.log.1 а потом делать команду "cat /dev/null > ***.log"
копирование указывается опцией copytruncate
а "cat /dev/null > ***.log" прописать в "postrotate"
ЗЫ: вообщем man logrotate
и пересмотри свои конфиги в /etc/logrotate.d (под СУСЕ может быть гдето в другом месте)
Удачи!

Skor78
()

На самом деле ротация логов осуществляется неким скриптом из /etc/cron.daily. Он считывает список логов из /etc/logfiles, в котором указаны название лога и размер, по достижении которого он обнуляется. Так вот, как оказалось, со всеми логами все пучком, но перестают вестись те, что работают через syslogd, т.е. описанные в syslog.conf. Т.е. не подается сигнал killall -HUP syslogd. Самое же смешное, что в SuSE 6.1, где работает практически такой же скрипт (проверял через diff), все нормально. В чем проблема понять не могу. :(

anonymous
()

Так может проблема с syslog`ом?
Попробуй вручную переместить лог и дать "killall -HUP syslogd"
Начнет ли он писать новый лог?

Skor78
()

Похоже, разобрался. :) Дело-то на самом деле в syslog'е. Просто я тормоз. :) В /etc/logfiles появилось новое поле - какой сервис нужно перегружать после обнуления лога. Я просто не обратил на это внимание. Хотя зачем нужно было менять то, что до этого нормально работало?...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.