Запускаю df вижу, что места осталось около одного процента, при том что обычно забито лишь 30% объема.
Что делать? первым делом убиваю бэкапы. + 30 гигов.
Бросаю это дело на время, иду к юзерам.
Прихожу сотрю снова почти нет места.
Что так забивает место? Мысль первая логи.
Без раздумий убиваю лог сквида, не жалко. Не помогает.
Запуская iotop и вижу ужасную картину, rsyslogd постоянно пишет на винт со скоростью 3 метра в секунду. Что за херь?
Убиваю rsyslogd. Начинаю разбираться в чем дело.
Оказалось demon.log, auth.log и еще всякие разрослись на 200 ГБ. быстренькао их удаляю и начинаю пилить настройки rsyslogd, но, выясняется, что он только собирает часть логов, а упралвяет, архивирует logrotate.
Трогать стандартные настройки logrotate в /etc/logrotate.conf не вижу особого смысла.
А вот перелопатить папочку /etc/logrotate.d/ стоит.
$sudo nano /etc/logrotate.d/rsyslog
по умолчанию он выглядит примерно так:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
и ротация включена только для syslog.
Добавим ротацию логов daemon.log, auth.log, user.log и т.д.
/var/log/daemon.log
{
rotate 3 # хранить 3 последних логов
weekaly # ротация каждую неделю, можно поставить каждый день daily
missingok # отсутствие файла не является ошибкой
notifempty # не обрабатывать пустые файлы
nodelaycompress # сразу сжимать старый лог,
# delaycompress оставляет послудний ротированный лог не сжатым
compress # сжимать ротируемый файл
# create 640 root # права и пользователей для создания новых логов. параметр необязательный.
postrotate # скрипт выполняемый после ротации
reload rsyslog >/dev/null 2>&1 || true
endscript # конец скрипта
}
Примерно такие конструкции следует поставить послу каждого лога.
Вот и вся настройка.
Теперь надо проверить.
$sudo logrotate -d /etc/logrotate.d/rsyslog
Если все правильно ошибок не будет, если они есть то внимательно смотрим что пишут.
А теперь можно и запустить ротацию
$ sudo logrotate -v -f /etc/logrotate.d/rsyslog
Все. Конфиги перечитаны, и применены.
Комментариев нет:
Отправить комментарий