Apache httpd rotatelogs: возможно ли создавать новый файл каждый день? - PullRequest
2 голосов
/ 14 марта 2012

Я хочу создавать новые журналы для своего сайта каждые 00:00:01 (= каждый новый день).

Проблема с rotatelogs заключается в том, что вы можете либо уточнить максимальный размер бревен перед созданием нового, либо уточнить время вращения в секундах. Невозможно точно час вращения.

Они говорят о "cronjobs", но я не понимаю. Может кто-нибудь объяснить, если это возможно, и если да, привести пример?

Большое спасибо

Ниже приводится справка утилиты rotatelogs:

/ # / opt / httpd / bin / rotatelogs --help Неверное количество аргументов Использование: / opt / httpd / bin / rotatelogs [-l] [-f] {|} [смещение минут от UTC]

Добавить это:

TransferLog "| / opt / httpd / bin / rotatelogs / some / where 86400"

или

TransferLog "| / opt / httpd / bin / rotatelogs / some / where 5M"

на httpd.conf. Сгенерированное имя будет /some/where.nnnn, где nnnn системное время, в которое журнал номинально запускается (например, если используется время вращения, время всегда будет кратным вращению время, поэтому вы можете синхронизировать cron скрипты с ним). В конце каждого время поворота или при достижении размера файла запускается новый журнал. / #

1 Ответ

1 голос
/ 14 марта 2012

В соответствии с этим разделом справочной страницы для rotatelogs :

   rotationtime
          The time between log file rotations  in  seconds.  The  rotation
          occurs  at  the  beginning of this interval. For example, if the
          rotation time is 3600, the log  file  will  be  rotated  at  the
          beginning  of every hour; if the rotation time is 86400, the log
          file will be rotated every night at midnight.

, установив 86400, как период будет делать то, что вы хотите (новый файл запущен вполночь каждый день).

Также используйте опцию -l, если вы хотите, чтобы "полночь" была в вашем местном часовом поясе, а не в UTC.

Случай, когда понадобится cronjob, - это если выхотел один день, но не в полночь.Для этого обычно используются более общие инструменты, такие как logrotate (вне apache).

...