Решил почистить /var/log/messages и удалил его и создал заново, но там не появляются новые логи, как сделать чтобыь туда писались логи без перезагрузки т.к. не хочитсья портить аптайм
> 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
нет риска потери информации.
Учите мат. часть (работа с открытыми на запись файлами)
> Да потому, что это абсолютно не правильно.
> Здесь есть риск потери информации, в то время как при таком раскладе:
> 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, да риск потерь так же невелик.
>Смею заметить, что между `mv` файла и SIGHUP'ом тоже возникает риск потери информации, т.к. syslog пишет в уже удаленный файл - точно такой же, как и в моем примере.