|
Заметил значительное увеличение размера файла /var/log/mysql.log и решил настроить его ротацию.
Все оказалось довольно просто.
Newsyslog обычно запускается по cron'у раз в час, читает конфигурационный файл /etc/newsyslog.conf и определяет, когда лог-файлы нуждаются в архивировании и перегруппировке. logfile перемещается в logfile.0, logfile.0 перемещается в logfile.1, и так далее. Другое именование получится при архивировании с помощью gzip: logfile.0.gz, logfile.1.gz, и т.д.
Конфигурационный файл newsyslog.conf указывает, какие лог-файлы должны быть проинспектированы, сколько их должно быть сохранено, а также, когда они должны быть пересмотрены.
Лог-файлы могут быть перегруппированы и/или заархивированы исходя из заданных параметров:
- когда они достигнут определённого размера;
- при достижении определённых даты/времени.
Редактируем файл /etc/newsyslog.conf
# лог-файл [владелец:группа] права кол-во размер когда флаги [пид файл] [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 root:www 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 /var/log/mysql.log 600 2 500 * ZC # ротировать при достижении 500 kb, потом сжимать.
Описание параметров:
- лог-файл – абсолютный путь к лог-файлу;
- [владелец:группа] - необязательный параметр, который указывает newsyslog’у кто должен являться владельцом данного лог-файла ;
- права - права, которые необходимо выставить на файл;
- количество - максимальное количество заархивированных лог-файлов;
- размер - по достижению какого размера архивировать лог-файл;
- когда - время, через которое архивировать лог-файл;
- флаги — некоторые дополнитпараметры, для лог-файлов:
- B - по умолчанию, newsyslog добавляет в новый лог-файл сообщение о том, что лог-файл был ротирован, но если лог-файл бинарный, то это сообщение испортит лог, с параметром B newsyslog не будет добавлятьт никаких сообщений в лог
- C - если лог-файл не существует, то его необходимо создать.
- G - если указан данный флаг, то в названии лог-файла можно использовать стандартные шаблоны(например *)
- J - сжимать лог-файл, используя bzip2
- N - Не предупреждать никакой процесс, о ротации лог-файла
- W - если используете флаги Z или J, то newsyslog должен подождать, пока заверщиться процесс архивации.
- Z - сжимать лог, использую gzip.
|