Вывод почты stderr, log stderr + stdout в cron

создайте файл httpd-mpm.conf в папке conf.modules.d и установите там свои значения. файл отсутствует в двоичном виде, но доступен в исходном пакете httpd: http://www.linuxquestions.org/questions/linux-server-73/tunning-apache-but-setting-not-found-4175531918/

0
21.08.2018, 16:36
2 ответа

Невозможно точно сохранить порядок при разделении stdout и stderr. Вы можете получить разумные результаты с этим, если время вывода stdout и stderr не слишком близко:

mycommand 2>>/var/log/mycommand.log | tee -a /var/log/mycommand.log

Вы можете проверить это с помощью этого скрипта вместо mycommand:

#!/bin/bash
echo stdout 1
sleep 0.1
echo stderr 1 >&2
sleep 0.1
echo stdout 2
sleep 0.1
echo stderr 2 >&2

Если вы удалите команды сна, порядок в файле журнала будет несколько нарушен.

0
28.04.2021, 23:43

Я думаю, что это возможно -при сохранении порядка строк (т.е. stderr копируется из процесса, в который он записывается в ), даже в оболочке POSIX. Попробуйте:

#!/bin/sh

exec 3>log
command args... 2>&1 >&3 |while read err; do
  echo "$err" >&2
  echo "$err" >&3
done
1
28.04.2021, 23:43

Теги

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