Как добавить stderr к log_failure_msg в init.d сценарии

К моему пониманию, в/lib/lsb/init.functions, log_failure_msg надлежащий путь состоит в том, чтобы произвести сообщение об отказе к некоторому файлу журнала. Я задавался вопросом, было ли возможно сделать это.

python some/script/here.py 2>> log_failure_msg

log_failure_msg обычно используется как так log_failure_msg "some failure message"

У меня есть свои сомнения, что это не работало бы, как я надеюсь с stderr, быть сообщением передало log_failure_msg. Я проверил бы это, но я также не уверен, куда этот недавно созданный файл журнала помещается. Если кто-либо мог бы помочь или предложить альтернативу тому, как зарегистрировать мою ошибку с log_failure_msg затем, я буду большой ценить его.

Еще одна вещь. Прямо после моей строки Python, я имею retval=$?. Мне нужна эта строка для права после моей команды Python, таким образом, я могу получить код возврата. Я не мог думать так или иначе, чтобы захватить stderr и присвоить его переменной, которую я мог передать log_failur_msg из-за этого.

Спасибо

0
задан 28 September 2018 в 06:25

1 ответ

Если вы проверите спецификацию log_failure_msg , он говорит:

log_failure_msg message

    The log_failure_msg function shall cause the system to write a failure
    message to an unspecified log file. The format of the message is
    unspecified.The log_failure_msg function may also write a message to the
    standard output.

    Note: The message should be relatively short; no more than 60 characters
    is highly desirable.

Таким образом, похоже, что функция записывает только в standard output, а не standard error. Это способ, которым 2> somewhere не будет работать.

С другой стороны, если вы хотите, чтобы скрипт Python записывал в stderr, этот пост расскажет вам, как это сделать. log_failure_msg предназначен только для сценариев оболочки и обычно имеет источник:

#!/bin/bash

source /lib/lsb/init-functions
log_failure_msg "some error" 

Объединение отчетов об ошибках Python и Shell не выглядит хорошей идеей.

0
ответ дан 27 October 2019 в 09:46

Другие вопросы по тегам:

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