На этот вопрос уже есть ответ здесь:
Я бы хотел оставить больше, чем установлено по умолчанию 5 файлов журнала в /var/log/auth.log. Что мне нужно изменить, чтобы сохранить их количество x?
Это сделано logrotate
, который как ежедневная газета cron
задание проверяет, что это - конфигурационные файлы для файлов журнала, для которых нужны вращение, сжатие, удаление, и принимает необходимые меры.
Для /var/log/auth.log
, который является на самом деле a rsyslog
управляемый файл, как rsyslog
дампы вся информация об аутентификации (auth
, authpriv
средства) там (conf файл: /etc/rsyslog.d/50-default.conf
), соответствующий конфигурационный файл для logrotate
/etc/logrotate.d/rsyslog
.
На моих 14.04, который содержит:
/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
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
Так /var/log/auth.log
поворачивается на эту конфигурацию.
Для изменения поведения для хранения желаемого количества повернутых файлов можно или измениться rotate
параметр к Вашему требуемому значению (любое положительное целое число, 0
удалит старые файлы немедленно) в { ... }
раздел после объявления имени файла, но это изменит поведение для всех упомянутых файлов, которые не могли бы быть желаемым поведением.
Вместо этого удалите /var/log/auth.log
оттуда, и сделайте отдельную запись для этого путем помещения следующего в конец:
/var/log/auth.log
{
rotate 10
weekly
missingok
notifempty
compress
delaycompress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
Вышеупомянутое будет вращаться /var/log/auth.log
, weekly
, с compress
- ион, не, если это пусто (notifempty
), и сохранит 10
повернутые копии и более старые это, которое будет удалено.
Измените их, чтобы удовлетворить Ваши потребности и также читать man 5 logrotate.conf
.
Расписания вращения определяются в /etc/logrotate.d/rsyslog
, Если мы исследуем файл, мы видим, что auth.log является одним из файлов, которые настроены к поворачиванию 4, еженедельно планируют по умолчанию. Заметьте, что системный журнал с другой стороны установлен вращаться 7, ежедневно планируйте. Можно следовать за форматом для системного журнала и создать запись, которая следует за тем же форматом, который даст Вам результаты, которые Вы хотите Т.Е. поворачиваете X и расписание, желаемое как в ежедневной газете, еженедельно или что бы то ни было. Обратите внимание на постповорачивать директива, а также это указывает действие, которое происходит после того, как целое вращение журнала завершилось.
/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
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
источники:
man logrotate