LINUX.ORG.RU

/var/log/messages


0

0

Решил почистить /var/log/messages и удалил его и создал заново, но там не появляются новые логи, как сделать чтобыь туда писались логи без перезагрузки т.к. не хочитсья портить аптайм

anonymous

И на самом деле это должно делаеться так:

cp /var/log/messages /var/log/messages.old
echo "" > /var/log/messages

А перезапускать ничего не нужно.

e
()

а права на запись не забыл поставить?

skyfisher
()
Ответ на: комментарий от e

а не слишком ли расточительно будет копировать километровые файлы, когда "перезапуск" syslog_a -- это kill -HUP $sylog_pid ???

sdio ★★★★★
()

А мож logrotate прикрутить чтоб руками не лазить каждый раз?

sergej ★★★★★
()

> Решил почистить /var/log/messages и удалил его и создал заново

А не проще это делать cat /dev/null > /var/log/messages

GhostDragon
()
Ответ на: комментарий от sdio

Откуда километры на домашней машине? Да даже если и так, прикрутить logrotate, он делает примерно то же самое, и забыть.

Ну или не `cp ... ...`, а `cat ... | bzip2 -9 > messages.1.bz2`, прям разница...

e
()
Ответ на: комментарий от e

> cp /var/log/messages /var/log/messages.old
> echo "" > /var/log/messages

Да потому, что это абсолютно не правильно. 
Здесь есть риск потери информации, в то время как при таком раскладе:

mv /var/log/messages /var/log/messages.old
cat /dev/null > /var/log/messages
kill -HUP $syslog_pid

нет риска потери информации.

Учите мат. часть (работа с открытыми на запись файлами)

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Да потому, что это абсолютно не правильно.
> Здесь есть риск потери информации, в то время как при таком раскладе:
> mv /var/log/messages /var/log/messages.old
> cat /dev/null > /var/log/messages
> kill -HUP $syslog_pid
> нет риска потери информации.
> Учите мат. часть (работа с открытыми на запись файлами)

Смею заметить, что между `mv` файла и SIGHUP'ом тоже возникает риск потери информации, т.к. syslog пишет в уже удаленный файл - точно такой же, как и в моем примере. Идеальный вариант - писать в 2 лога, удалять один из них и проверять не потерялось ли чего.

Либо комбинация: `cp /var/log/messages /var/log/messages.old && cat /dev/null > /var/log/messages`, при которой не требуется перезапуск syslog, да риск потерь так же невелик.

kill, к тому же, может быть недоступен.

e
()
Ответ на: комментарий от e

>Смею заметить, что между `mv` файла и SIGHUP'ом тоже возникает риск потери информации, т.к. syslog пишет в уже удаленный файл - точно такой же, как и в моем примере.

Чушь собачья!

sdio ★★★★★
()
Ответ на: комментарий от e

Учите все таки мат часть!

после команды mv запись продолжается в переименованый файл

и только по SIGHUP демон переключается на новый

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