Я бы порекомендовал logrotate большинству людей, поскольку именно так будут вращаться все остальные журналы (KISS: Keep it Simple Stupid). Logrotate не перезапускает весь Apache, скорее он просто посылает ему сигнал, который говорит ему, чтобы он снова открыл все свои файлы журнала и перезапустил дочерние элементы. Этот сигнал может быть SIGHUP, который заставляет детей перезагружаться сразу (что будет прерывать загрузку), или SIGUSR1, который делает постепенный перезапуск. С SIGUSR1 вам придется отложить обработку журнала, пока вы не решите, что все дети умерли бы естественным путем. В любом случае, вы, вероятно, захотите проанализировать свои журналы и рассчитать время для самого низкого периода трафика в день или неделю.
Похоже, что это более мощное решение. Большим преимуществом является то, что это позволит вам использовать централизованную систему ведения журналов и загружать сам веб-сервер. Само руководство говорит:
Как и в случае с условной регистрацией, журналы по конвейеру являются очень мощным инструментом, но их не следует использовать там, где доступно более простое решение, такое как автономная постобработка.
Так что, очевидно, не используйте конвейерную регистрацию, если она вам не нужна . Я использовал журналирование по каналу в прошлом как хакерский способ фильтрации журналов, и у меня не было проблем.
Я использовал оба раньше. Я обнаружил, что использование rotatelogs - очень полезный инструмент для управления журналами доступа, и если вы не хотите, чтобы apache простоев. На большом сайте я бы порекомендовал это, единственная проблема, которую я обнаружил, заключалась в том, что если вы хотите управлять журналами, вам понадобится отдельный скрипт cron'd для очистки или перемещения журналов на резервный сервер, очевидно это зависит от требования. С logrotate у вас есть больше возможностей для обработки файлов журналов, единственная проблема заключается в том, что когда logrotate запускается, как описано в предыдущем ответе, вам необходимо перезапустить apache.
По сути, все сводится к выбору: если вам нужен apache для запуска без прерываний, то для управления нужно использовать rotatelogs с внешним скриптом cron, иначе будет достаточно logrotate. Просто убедитесь, что logrotate cron не вращает журналы, когда у вас большой трафик.
Наконец, если вы хотите, чтобы в вашем системном журнале был журнал apache, вы всегда можете использовать команду logger, которая находится в Linux на основе Redhat.
источник