Архивирование (ротация) логов newsyslog FreeBSD

Архивирование (ротация) логов newsyslog FreeBSD

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

Далее представляются вырезки из данной статьи на сайте Лисяры, себе на заметку.

Смотрим, что имеется в /etc/newsyslog.conf:

cat /etc/newsyslog.conf
# comments by fr33man
# 24.11.2006

# лог-файл -- абсолютный путь к файлу, с которым будем работать.
# [владелец:группа] -- необязательный параметр, который указывает newsyslog'у
# кто должен являться владельцом данного лог файла
# права -- права, которые должны быть на файле
# кол-во -- максимальное количество заархивированных лог файлов.
# когда -- время, через которое архивировать лог-файл.
# флаги -- некоторые параметры, для лог-файлов:
# B - по умолчанию, newsyslog добавляет в новый лог-файл сообщение о том, что
# лог-файл был ротирован, но если лог-файл бинарный, то это сообщение испортит лог,
# с параметром B newsyslog не будет добавлятьт никаких сообщений в лог
# C - если лог-файл не существует, то его необходимо создать.
# G - если указан данный флаг, то в названии лог-файла можно
# использовать стандартные шаблоны(например *)
# J - сжимать лог-файл, используя bzip2
# N - Не предупреждать никакой процесс, о ротации лог-файла
# W - если используете флаги Z или J, то newsyslog должен подождать,
# пока заверщиться процесс архивации.
# Z - сжимать лог, использую gzip.

# лог-файл [владелец:группа]  права кол-во размер когда  флаги [пид файл] [sig_num]
/var/log/all.log                        600     7     *     @T00    J
/var/log/amd.log                        644     7     100   *       J
/var/log/auth.log                       600     7     100   *       JC
/var/log/console.log                    600     5     100   *       J
/var/log/cron                           600     3     100   *       JC
/var/log/daily.log                      640     7     *     @T00    JN
/var/log/debug.log                      600     7     100   *       JC
/var/log/kerberos.log                   600     7     100   *       J
/var/log/lpd-errs                       644     7     100   *       JC
/var/log/maillog                        640     7     *     @T00    JC
/var/log/messages                       644     5     100   *       JC
/var/log/monthly.log                    640     12    *     $M1D0   JN
/var/log/pflog                          600 3  100 *  JB /var/run/pflogd.pid
/var/log/ppp.log        root:network    640     3     100   *       JC
/var/log/security                       600     10    100   *       JC
/var/log/sendmail.st                    640     10    *     168     B
/var/log/slip.log       root:network    640     3     100   *       JC
/var/log/weekly.log                     640     5     1     $W6D0   JN
/var/log/wtmp                           644     3     *     @01T05  B
/var/log/xferlog                        600     7     100   *       JC

Для себя добавил несколько правил:

cat newsyslog.conf | grep savenkoff.com
# Логирование сайта www.savenkoff.com
/mnt/www/savenkoff.com/savenkoff.com-access_log www:www 644     7       100    *ZC
/mnt/www/savenkoff.com/savenkoff.com-error_log  www:www 644     7       100    *ZC