**Что произошло:** Нельзя полностью перенаправлять вывод утилит в лог. Это нарушение strongbash020.\\
**Постановка задачи**:
Сделать вменяемый вывод /app/reductor/service restart .\\
**Разбор**: При рестарте редуктора(/app/reductor/service restart) выполняется много действий. Идёт запуск нескольких утилит. Вывод от них довольно большой, из-за этого теряется смысл запуска редуктора.\\
**Ошибка:** В нескольких утилитах, которые запускаются при инициализации было написано следующее:\\
#!/bin/bash
. /app/reductor/usr/local/Reductor/etc/const
exec 1>"$LOGFILE"
exec &>"$LOGFILE"
.....
Тем самым весь вывод переводится в файл. Это затрудняет работу, потому что при запуске из консоли не увидим вывода и ошибок при запуске.
**Исправление** Требуется перенаправлять вывод при запуске утилиты. При этом требуется выводить код возврата, если потребуется выяснить причины, то уже будет понятно, что надо смотреть в лог.
**/etc/rc.d/init.d/reductor**
#!/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
}
...
~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/
{(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2018-11-21_перенаправление_всего_вывода_в_утилитах|type=vote|trace=user|tracedetails=1)}