В этом примере /var/log/secure.log будет ежедневно ротироваться, и, если размер файла журнала превышает 100 МБ, начнется процесс ротации.
1. По умолчанию система производит ротацию всех основных журналов ОС, проверяя файл системного журнала, расположенный в /etc/logrotate.d/
# cat /etc/logrotate.d/syslog /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts postrotate /bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true endscript } #
2. Чтобы добавить отдельную политику ротации журналов для /var/log/ secure, просто захешируйте запись в приведенном выше файле системного журнала и создайте отдельный файл в /etc/logrotate.d/.
# cd /etc/logrotate.d/ # touch securelog # chmod 644 securelog; chown root:root securelog # vi securelog /var/log/secure.log { daily maxsize 100M rotate 4 }
Объяснение
- daily – ежедневная ротация файла журнала.
- maxsize – файлы журналов чередуются, когда они вырастут больше, чем размер X, даже до дополнительно указанного интервала времени (ежедневно, еженедельно, ежемесячно или ежегодно).
- rotate – файлы журнала производят ротацию [количество] раз перед удалением или отправкой по почте на адрес, указанный в mail директиве. Если число равно 0, старые версии удаляются, а не вращаются.
Проверьте страницу руководства (man logrotate) для получения дополнительной информации.
# man logrotate