Архивирование (ротация) логов 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