2018-11-21 Перенаправление Всего Вывода В Утилитах

2018-11-21_перенаправление_всего_вывода_в_утилитах.1542803135.txt.gz | Хозяин: николай_глазов | Изменен: 20.05.2019 15:18 николай_глазов Черновик Новейший утвержденный

Это старая версия документа.


Krat NikolayKrat Nikolay, 26.11.2018 05:34

Только это проблема не совсем strongbash020. Здесь нестыковка с unix-style, когда утилиты должны писать логи в stdout/stderr, а не в лог-файлы. Т.к. это приводит к проблемам сопровождения и отладки.

Также, в исправленном варианте полное перенаправление - достаточно опасная операция. Можно замаскировать возможные проблемы, а система должна открыто сообщать о своих проблемах. Здесь мы это допустили, т.к. в случае проблем код возврата будет не нулевой и мы увидим ERROR при запуске. Дополнительно решили добавить обработку ошибочного кода возврата и писать в вывод: «Лог проблемы можно посмотреть в $LOGFILE»

Krat NikolayKrat Nikolay, 26.11.2018 05:36

Причем это допустимо только при вызове pl7-скриптов, где мы можем полагаться на код возврата. Иногда, мы этого сделать не можем и параметры вывода могут «утечь» к низлежащим скриптам

adminadmin, 04.12.2018 07:09

по идее все есть в boot.log то что при старте

если нас рестартить апдейтер(по сути крон), то он и должен логировать либо использовать crab_exec с логированием

если мы делаем рестарт руками, то мы и так все видим

Стандартные выводы должны быть unix style

Олег СтрижеченкоОлег Стрижеченко, 11.12.2018 05:49
по идее все есть в boot.log то что при старте

Если сделать такое перенаправление - этого там не будет.

Только reductor start… [OK/FAIL]

adminadmin, 19.12.2018 04:29 (19.12.2018 04:30)
  • если ничего не перенаправлять, то все попадет в boot.log
  • если рестартить из консоли, то все попадет в консоль и все видно
  • если рестартить из апдейта или крона, то там и логировать /app/reductor/service restart &»updater.log
  • в самом скрипте логировать не надо в 99.9% случаев
  • если логирование все же понадобилось, для журналирования действий, то оно должно дублировать stdout, stderr, а не забирать себе. НО ЭТО В САМЫХ КРАЙНИХ НУЖНЫХ СЛУЧАЯХ, так делает vzctl например.
Ваш комментарий. Вики-синтаксис разрешён: