#logging #duplicates #ksh #stderr
#ведение журнала #дублирует #ksh #stderr
Вопрос:
Я пишу скрипты ksh. Поскольку я не могу управлять планировщиком заданий или получать доступ к его журналам, я веду журнал:
exec 2>>logfile 1>amp;2
в начале файла и использование для регистрации:
echo "good job"
Чтобы быстро проверить файлы журналов на наличие ошибок, как я могу дублировать stderr в logfile и файл ошибок?
Я представляю что-нибудь с новыми файловыми дескрипторами или tee или tty?
Спасибо.
Комментарии:
1. Итак, вы хотите, чтобы stderr заканчивался в файле журнала (вместе с stdout) и только stderr заканчивался в файле ошибок?
2. Вы все еще заинтересованы в решении?
Ответ №1:
Выполнив:
echo "good job" | tee errorlog
Вы получите эхо-вывод скрипта по умолчанию (я полагаю, файл журнала), и сообщение также будет продублировано в «errorlog».
Спасибо
Ответ №2:
Каждый раз, когда вы пытаетесь повторно использовать стандартные файловые дескрипторы, такие как :
<cmd> 1>err 2>>err 1>out
Это переписывает определение первого определения.То есть 1 теперь указывает только на out, а 2 на err. Лучше всего было бы использовать два отдельных файла (например, err и out) и помечать выходные данные временными метками и самостоятельно сортировать их, чтобы получить комбинированный результат.