Как правильно чистить логи [решено]

Автор CoolAller, 13 сентября 2015, 00:27:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

CoolAller

Собственно были вручную удалены логи из /var/log/ и теперь при открытии Log File Viewer (mate-system-log) он ругается на их отсутствие:

Открыть содержимое (спойлер)
/var/log/messages.1: Error when getting information for file '/var/log/messages.1': No such file or directory
/var/log/debug.1: Error when getting information for file '/var/log/debug.1': No such file or directory
/var/log/lpr.log.1: Error when getting information for file '/var/log/lpr.log.1': No such file or directory
/var/log/alternatives.log.1: Error when getting information for file '/var/log/alternatives.log.1': No such file or directory
/var/log/dpkg.log.1: Error when getting information for file '/var/log/dpkg.log.1': No such file or directory
/var/log/user.log.1: Error when getting information for file '/var/log/user.log.1': No such file or directory
/var/log/alternatives.log: Error when getting information for file '/var/log/alternatives.log': No such file or directory
/var/log/auth.log.1: Error when getting information for file '/var/log/auth.log.1': No such file or directory
/var/log/daemon.log.1: Error when getting information for file '/var/log/daemon.log.1': No such file or directory
/var/log/syslog.1: Error when getting information for file '/var/log/syslog.1': No such file or directory
/var/log/kern.log.1: Error when getting information for file '/var/log/kern.log.1': No such file or directory
/var/log/lpr.log: Error when getting information for file '/var/log/lpr.log': No such file or directory
/var/log/fontconfig.log: Error when getting information for file '/var/log/fontconfig.log': No such file or directory
[свернуть]
Подскажите как пересоздать файлы логов и как правильно их удалять, например, если ось была установлена из образа снятого с другой машины и старые логи уже не нужны, но естественно требуется вести логи, но уже с новой конфигурацией.

doctor@tardis

Есть понятие ротации логов. Почитайте про logrotate. Он автоматом чистит определенные логи, бекапит их и все такое. Идет встроенный в дебиане. Еще можно чистить логи так -
cat /dev/null > /var/log/*
Просто удалять их не дело.

CoolAller

#2
doctor@tardis, читал я маn по logrotate, насколько я понял там есть опция -f,--force которая должна запускать ротацию логов моментально после выполнения команды и восстанавливать удаленные логи, если в /etc/logrotate.conf раскометирвана строка "create" в секции "create new (empty) log files after rotating old ones", как у меня и есть. Но после запуска в терминале #logrotate -f ничего не происходит и появляется сообщение Usage. Что я делаю не так? Как чистить логи с помощью logrotate я тоже не нашел, только как их сжимать, что в принципе мне не нужно. Подскажите как это сделать.

doctor@tardis

CoolAller, если вы все правильно настроили, то вам просто нужно было указать конфиг файл =)
logrotate -f /etc/logrotate.conf

CoolAller

#4
doctor@tardis, спасибо, действительно logrotate должен работать только после указания на конфиг, но создания удаленных логов все равно не происходит)) Как еще можно произвести их генерацию? Не создавать же их вручную.

yura_n

Цитата: CoolAller от 14 сентября 2015, 01:16:35Не создавать же их вручную.
Чего вы мудрите? Демоны, которые пишут в логи, перезапустите.

doctor@tardis

CoolAller, в логротейт есть опция, которая перезапускает демоны при стирании.
Но я делал по другому. Не всегда выгодно перезапускать процесс. Я в логротейте ставил опцию не удалять логи, и там же прописывал скрипт  cat /dev/null > /var/log/нужныйлог

CoolAller

#7
Цитата: yura_n от 14 сентября 2015, 01:30:44Демоны, которые пишут в логи, перезапустите.
yura_n, так после перезагрузки они же и так перезапускаются, но логи все равно не создаются.
Цитата: doctor@tardis от 14 сентября 2015, 05:07:35в логротейт есть опция, которая перезапускает демоны при стирании.
doctor@tardis, Не могу найти, пожалуйста подскажите если знаете.
Цитата: doctor@tardis от 14 сентября 2015, 05:07:35Я в логротейте ставил опцию не удалять логи, и там же прописывал скрипт  cat /dev/null > /var/log/нужныйлог
Спасибо за совет, но сейчас что с ними делать, если они не пересоздаются?

yura_n

Цитата: CoolAller от 14 сентября 2015, 17:11:34yura_n, так после перезагрузки они же и так перезапускаются, но логи все равно не создаются.
А rsyslog (или что там в Debian) работает после загрузки или нет? Если нет, то возможно проблема с правами.

CoolAller

#9
yura_n, да, rsyslog запущен. На что имеено ругается Log File Viewer в первом сообщении под спойлером.

yura_n

Цитата: CoolAller от 14 сентября 2015, 17:32:00
yura_n, да запущен.
Тогда я не понял, а как он работает? ;D Может каталог логов в конфигах изменен?

CoolAller

#11
yura_n, конфиги не менял, логи писались в файлы до их удаления из /var/log/, после их удаления они больше не создаются. Ругается на отсутствие /var/log/debug.1; /var/log/debug.1 ; /var/log/lpr.log.1 и т.д. (остальные под спойлером) Как заставить их сгенерировать заново мне неизвестно.

yura_n

Цитата: CoolAller от 14 сентября 2015, 17:35:54после их удаления они больше не создаются.
После перезагрузки файлы логов должны создаться вновь. Если не создаются, то возможно что-то с правами. Если не создаются, но rsyslog успешно работает, то это полтергейст. ;D

CoolAller

#13
Цитата: yura_n от 14 сентября 2015, 17:38:00После перезагрузки файлы логов должны создаться вновь.
Когда я их удалял у меня тоже была такая уверенность, но нет)  :D

После перезапуска #systemctl restart rsyslog.service некоторые логи появились но осталось вот это:

Открыть содержимое (спойлер)
/var/log/dmesg: Error when getting information for file '/var/log/dmesg': No such file or directory
/var/log/alternatives.log: Error when getting information for file '/var/log/alternatives.log': No such file or directory
/var/log/alternatives.log.1: Error when getting information for file '/var/log/alternatives.log.1': No such file or directory
/var/log/dpkg.log.1: Error when getting information for file '/var/log/dpkg.log.1': No such file or directory
/var/log/lpr.log.1: Error when getting information for file '/var/log/lpr.log.1': No such file or directory
/var/log/lpr.log: Error when getting information for file '/var/log/lpr.log': No such file or directory
/var/log/fontconfig.log: Error when getting information for file '/var/log/fontconfig.log': No such file or directory
[свернуть]

yura_n

Цитата: CoolAller от 14 сентября 2015, 17:39:10rystemctl
Системд. По крайней мере это объясняет вышеизложенные чудеса. Вот в этом системном D проблема скорее всего и есть.