Вращение журнала stdout?

У меня есть программа Linux, которая может записать информацию в stdout и stderr.

У меня есть сценарий оболочки, который перенаправляет тот вывод в файл в /var/log. (Через >> и 2>&1.)

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

Я видел несколько ответов, которые говорят о logrotate программа, которая звучит хорошей, но они также, кажется, фокусируются на программах, которые генерируют файлы журнала внутренне и обрабатывают Сигналы HUP. Существует ли способ сделать эту работу с основным сценарием перенаправления вывода?

54
задан 01.06.2011, 07:58

4 ответа

Как альтернатива, Вы могли передать вывод по каналу через инструменты, разработанные с основной целью ограниченного размером поддержания, автоматически повернутого, наборы файла журнала, такие как:

Инструменты, чтобы затем обработать multilog- наборы файла журнала формата включают среди других:

Дальнейшее чтение

45
ответ дан 07.12.2019, 08:24

Если у Вас может быть он, переходят к одному из стандартных потоков журнала (системный журнал, демон, крон, пользователь, безопасность, почта, и т.д.) можно использовать logger команда и канал к нему вместо этого.

echo "Hello." | logger -p daemon.info

Иначе можно быть более обеспеченной передачей по каналу зарегистрированного содержания к пользовательской программе или сценарию для обработки его, или взгляд на установку logrotate конфигурация.

Править: Ответ JdeBP, кажется, имеет то, что можно искать.

14
ответ дан 07.12.2019, 08:24

rotatelogs инструмент поставляется с апачем (в bin dir) (см. документы), берет вход от stdin и поворачивает журнал после некоторого определенного количества времени

15
ответ дан 07.12.2019, 08:24

rotatelogs инструмент поставляется с апачем (в bin dir) (см. документы), берет вход от stdin и поворачивает журнал после некоторого определенного количества времени

15
ответ дан 07.12.2019, 08:24

Теги

Похожие вопросы