Как настроить автоматическую ротацию логов во FreeBSD

Обновлено Обновлено: Опубликовано Опубликовано:

В инструкции мы рассмотрим установку и настройку утилиты logrotate для автоматической ротации логов.

Установка и настройка logrotate

Для начала установим утилиту, так как по умолчанию его нет во FreeBSD:

pkg install logrotate

Теперь создадим файл с настройкой ротации логов. Удобнее для каждой службы создавать отдельную конфигурацию, например:

ee /usr/local/etc/logrotate.d/oracle

и добавте в него следующее:

/u01/app/oracle/diag/tnslsnr/listener/alert/*.xml {
        rotate 5
        missingok
        notifempty
        daily
        compress
        nocreate
        maxage 30
}

В данном примере создана конфигурация для ротации логов ORACLE по следующему принципу:

Искать все файлы, заканчивающиеся на .xml в каталоге /u01/app/oracle/diag/tnslsnr/listener/alert.
rotate 5 — хранить последние 5 ротированных файлов. Остальные удалять.
missingok — если файла не существует, не выкидывать ошибку.
notifempty — если файл пустой, не выполнять никаких действий.
daily — делать ротацию каждый день.
compress — сжимать ротированные файлы.
nocreate — не создавать новый файл.
maxage 30 — хранить ротированные файлы за последние 30 дней. Остальные удалять.

Данных параметров больше. Вот неплохое описание параметров logrotate.

Чтобы вручную запустить ротацию, введите следующую команду:

logrotate -f /usr/local/etc/logrotate.d/oracle

Для автоматического запуска необходимо создать задание в cron:

0 0 * * * /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf

* в данном примере задание будет выполняться каждый день в 00:00

Читайте также

1. Ротация логов в Linux и FreeBSD с помощью logrotate.

2. Примеры настроек logrotate для различных программ.

# FreeBSD # UNIX # Настройки
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет