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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
правила_разработки:как_не_надо_делать:2018-11-21_перенаправление_всего_вывода_в_утилитах [21.11.2018 07:25]
николай_глазов создано
правила_разработки:как_не_надо_делать:2018-11-21_перенаправление_всего_вывода_в_утилитах [20.05.2019 15:18] (текущий)
Строка 1: Строка 1:
 +**Что произошло:​** Нельзя полностью перенаправлять вывод утилит в лог. Это нарушение strongbash020.\\
 +**Постановка задачи**:​
 +Сделать вменяемый вывод /​app/​reductor/​service restart .\\
 +
 +**Разбор**:​ При рестарте редуктора(/​app/​reductor/​service restart) выполняется много действий. Идёт запуск нескольких утилит. Вывод от них довольно большой,​ из-за этого теряется смысл запуска редуктора.\\
 +**Ошибка:​** В нескольких утилитах,​ которые запускаются при инициализации было написано следующее:​\\
 +
 +<code bash>
 +
 +#!/bin/bash
 +. /​app/​reductor/​usr/​local/​Reductor/​etc/​const
 +exec 1>"​$LOGFILE"​
 +exec &>"​$LOGFILE"​
 +
 +.....
 +
 +</​code>​
 +
 +Тем самым весь вывод переводится в файл. Это затрудняет работу,​ потому что при запуске из консоли не увидим вывода и ошибок при запуске.
 +
 +**Исправление** Требуется перенаправлять вывод при запуске утилиты. При этом требуется выводить код возврата,​ если потребуется выяснить причины,​ то уже будет понятно,​ что надо смотреть в лог.
 +
 +**/​etc/​rc.d/​init.d/​reductor**
 +
 +<code bash>
 +
 +#!/bin/bash
 +. /cfg/config
 +. /​etc/​rc.d/​init.d/​functions
 +. /​usr/​local/​Reductor/​etc/​const
 +
 +prog="​reductor"​
 +
 +start(){
 + local RC
 + echo -n $"​Starting $prog: "
 + /​usr/​local/​Reductor/​bin/​start.sh &>>​ $LOGFILE
 + RC=$?
 + if [ $RC != 0 ];then
 + echo -e "​\nПри остановке редуктора произошли ошибки."​
 + echo "​Выяснить причины можно в $LOGFILE"​
 + fi
 + return $RC
 +}
 +
 +...
 +</​code>​
 +
 +~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/
 +
 +{(rater>​id=1|name=Прочитал_правила_разработки:​как_не_надо_делать:​2018-11-21_перенаправление_всего_вывода_в_утилитах|type=vote|trace=user|tracedetails=1)}