Apache. Документация на русском


Разделы:   1    2    3    4    5    6    7      8      9    10    11    12    13    14    15    16  

Раздел 8. HTTP-сервер Apache и вспомогательные программы

Пункты:   63    64    65    66    67    68    69    70    71    72    73    74    75    76      77      78    79  

 <         > 
  RU            EN  

Пункт 77. Страница руководства: rotatelogs

rotatelogs — это простая программа для использования в сочетании с функцией передачи файлов журнала Apache. Он поддерживает ротацию на основе временного интервала или максимального размера журнала.

Синопсис

rotatelogs [ -l ] [ -L linkname ] [ -p program ] [ -f ] [ -t ] [ -v ] [ -e ] [ -c ] [ -n number-of-files ] logfile rotationtime|filesize(B|K|M|G) [ offset ]

Параметры

-l
Вызывает использование местного времени, а не GMT в качестве основы для интервала или для strftime(3) форматирования с чередованием на основе размера.
-L имя ссылки
Вызывает создание жесткой ссылки из текущего файла журнала на указанное имя ссылки. Это можно использовать для непрерывного просмотра лога при поворотах с помощью такой команды, как tail -F linkname .
-p программа
Если указано, rotatelogs будет выполнять указанную программу каждый раз, когда открывается новый файл журнала. Имя вновь открытого файла передается программе в качестве первого аргумента. При выполнении после ротации старый файл журнала передается в качестве второго аргумента. rotatelogs не ожидает завершения указанной программы, прежде чем продолжить работу, и не регистрирует какой-либо код ошибки, возвращаемый при завершении. Порожденная программа использует те же stdin, stdout и stderr, что и сама rotatelogs, а также наследует среду.
-f
Заставляет файл журнала открываться немедленно, как только он rotatelogs запускается, вместо того, чтобы ждать, пока будет прочитана первая запись в файле журнала (для незанятых сайтов может быть значительная задержка между запуском сервера и обработкой первого запроса). , что означает, что связанный файл журнала не «существует» до тех пор, что вызывает проблемы с некоторыми инструментами автоматического ведения журнала)
-t
Заставляет файл журнала усекаться, а не вращаться. Это полезно, когда журнал обрабатывается в реальном времени такой командой, как tail, и нет необходимости в архивных данных. К имени файла не будет добавляться суффикс, однако строки формата, содержащие символы «%», будут учитываться.
-v
Создание подробного вывода на STDERR. Выходные данные содержат результат разбора конфигурации и все действия по открытию и закрытию файла.
-e
Эхо регистрируется на стандартный вывод. Полезно, когда журналы необходимо обрабатывать в режиме реального времени другим инструментом в цепочке.
-c
Создайте файл журнала для каждого интервала, даже если он пустой.
-n number-of-files
Используйте циклический список имен файлов без меток времени. С параметром -n 3 последовательностью открываемых файлов журнала будет "logfile", "logfile.1", "logfile.2", а затем перезапись "logfile". Доступно в версии 2.4.5 и выше.
logfile

Путь плюс базовое имя файла журнала. Если файл журнала содержит какие-либо символы '%', он рассматривается как строка формата для strftime(3) . В противном случае автоматически добавляется суффикс .nnnnnnnnnn , обозначающий время в секундах (если не используется параметр -t). Оба формата вычисляют время начала от начала текущего периода. Например, если указано время вращения 86400, strftime(3) все поля часа, минуты и секунды, созданные из формата, будут равны нулю, ссылаясь на начало текущего 24-часового периода (полночь).

При использовании strftime(3) форматирования имени файла убедитесь, что формат файла журнала имеет достаточную степень детализации, чтобы создавать разные имена файлов при каждой ротации журналов. В противном случае ротация перезапишет тот же файл, а не запустит новый. Например, если файл журнала был /var/log/errorlog.%Y-%m-%d с ротацией журнала на 5 мегабайт, но 5 мегабайт было достигнуто дважды в один и тот же день, будет создан файл журнала с одним и тем же именем, и ротация журнала продолжит запись в один и тот же файл.

rotationtime
Время между ротациями файла журнала в секундах. Вращение происходит в начале этого интервала. Например, если время ротации равно 3600, файл журнала будет ротироваться в начале каждого часа; если время ротации равно 86400, файл журнала будет ротироваться каждую ночь в полночь. (Если в течение интервала данные не регистрируются, файл не создается.)
filesize(B|K|M|G)
За максимальным размером файла следует ровно одна из букв B (байт), K (КБ), M (МБ) или G (ГБ).

Когда время и размер указаны, размер должен быть указан после времени. Ротация будет происходить всякий раз, когда будут достигнуты ограничения по времени или размеру.

offset
Количество минут, смещенное от UTC. Если опущено, предполагается ноль и используется UTC. -300 Например, чтобы использовать местное время в зоне UTC -5 часов, укажите для этого аргумента значение . В большинстве случаев -l следует использовать вместо указания смещения.

Примеры

CustomLog "|bin/rotatelogs /var/log/logfile 86400" common

Это создает файлы /var/log/logfile.nnnn, где nnnn — это системное время, в которое номинально запускается журнал (это время всегда будет кратно времени ротации, поэтому вы можете синхронизировать cron-скрипты с ним). В конце каждого времени ротации (здесь через 24 часа) запускается новый журнал.

CustomLog "|bin/rotatelogs -l /var/log/logfile.%Y.%m.%d 86400" common

Это создает файлы /var/log/logfile.yyyy.mm.dd, где yyyy — год, mm — месяц, а dd — день месяца. Ведение журнала будет переключаться на новый файл каждый день в полночь по местному времени.

CustomLog "|bin/rotatelogs /var/log/logfile 5M" common

Эта конфигурация будет чередовать файл журнала всякий раз, когда он достигает размера 5 мегабайт.

ErrorLog "|bin/rotatelogs /var/log/errorlog.%Y-%m-%d-%H_%M_%S 5M"

Эта конфигурация будет чередовать файл журнала ошибок всякий раз, когда он достигает размера 5 мегабайт, а суффикс имени файла журнала будет создаваться в форме errorlog.YYYY-mm-dd-HH_MM_SS .

CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common

Это создает файл /var/log/logfile, усекая файл при запуске, а затем усекая файл один раз в день. В этом сценарии ожидается, что отдельный процесс (например, tail) будет обрабатывать файл в режиме реального времени.

Портативность

Следующие подстановки строк в формате файла журнала должны поддерживаться всеми strftime(3) реализациями, см. strftime(3) справочную страницу для расширений для конкретных библиотек.

%A полное название дня недели (локализованное)
%a 3-символьное название дня недели (локализованное)
%B полное название месяца (локализованное)
%b 3-символьное название месяца (локализованное)
%c дата и время (локализовано)
%d 2-значный день месяца
%H 2-значный час (24-часовые часы)
%I 2-значный час (12-часовые часы)
%j 3-значный день года
%M 2-значная минута
%m 2-значный месяц
%p am/pm в 12-часовом формате (локализовано)
%S 2-значная секунда
%U 2-значная неделя года (воскресенье первый день недели)
%W Двузначная неделя года (понедельник, первый день недели)
%w 1-значный день недели (воскресенье первый день недели)
%X время (локализованное)
%x дата (локализовано)
%Y 4-значный год
%y 2-значный год
%Z название часового пояса
%% литерал `%'


 <         > 

Пункты:   63    64    65    66    67    68    69    70    71    72    73    74    75    76      77      78    79  

Рейтинг@Mail.ru