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

Исключить файлы / каталоги logrotate

Я веду журналы всех наших приложений в / logs /, где все наши приложения имеют отдельный каталог. Я создал собственный файл logrotate следующим образом:

/logs/*.log {
    daily
    missingok
    rotate 1
    sharedscripts
    dateext
}

Итак, это захватывает все файлы журнала в / logs. Но я хочу оставить некоторые каталоги вне ротации. Можно как-то исключить эти каталоги? И что было бы лучше всего в этой ситуации?

В рекомендованное место для файлов журнала /var/log.

Вы можете сделать несколько файлов и несколько спецификаций файлов, чтобы указать, что включать:

/var/log/appone.log
/var/log/app[2-7].log
/var/log/other*.log
{
    log options
}

но лучше создать разные файлы для каждого приложения и поместить их в /etc/logrotate.d и включать только одну или две спецификации файлов в каждую, которые каким-либо образом связаны (например, приложение или функция / цель). Используйте существующие файлы в этом каталоге как модели.

С осторожностью используйте подстановочные знаки. На вашем месте я бы указывал лог-файлы каждого приложения отдельно.

Я не думаю, что есть какой-то очевидный способ, если не использовать синтаксис злого глобуса.

Лучшим способом было бы переключиться на файл conf для каждого приложения.

Для этого можно использовать подстановку: http://manpages.ubuntu.com/manpages/jaunty/en/man7/glob.7.html