Назад | Перейти на главную страницу

logrotate удалить все почтовые журналы старше одного дня

Я вижу только два файла maillog и maillog.1 в /var/log.

grepping для почты войти logrotate.d каталог содержит три файла, в которых упоминается maillog.

системный журнал

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
#/var/log/messages /var/log/secure /var/log/spooler /var/log/boot.log /var/log/cron {
        daily
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

syslog-ng

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/kern.log /var/log/kern {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

и почтовый журнал.

/var/log/maillog  {
    daily
    compress
#    rotate 365
    rotate 14 
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Я новичок в logrotate так что, возможно, я упускаю что-то очевидное. В чем может быть проблема? Настройка уже была сделана, когда я начал управлять сервером, поэтому я также не знаю, почему у меня есть 3 упоминания о maillog в logrotate.

  • Первый создается по умолчанию.
  • Второй создается при установке syslog-ng.
  • Предыдущий сисадмин создает третий вручную (возможно).

Какая у вас служба системного журнала?

ps -ef | grep syslog

ОБНОВИТЬ

Поскольку вы используете syslog-ng, все из postrotate скрипты неправильные, измените его на что-то вроде этого:

postrotate
    /bin/kill -HUP `cat /opt/syslog-ng/var/run/syslog-ng.pid 2> /dev/null` 2> /dev/null || true
endscript

затем запустите в режиме отладки (в журналы не будут внесены изменения), чтобы увидеть, что произойдет:

logrotate -d -f /etc/logrotate.d/syslog-ng