Rexxer

Some tips for me and other

Shell + compacting scripts

Сегодня наткнулся на одном из форумов на интересное решение.

Мне нужно было мониторить живучесть ВПН PPTP канала и т.к., несмотря, на конфиг MPD не восстанавливал соединение – приходилось делать ему рестарт.

Обычно я писал скрипт типа пинг, если пинга нет, то перезапуск и т.п.

Здесь же, более компактное решение:

/sbin/ping -c 4 192.168.5.2 || /usr/local/etc/rc.d/mpd5 restart >> /dev/null

в оригинале: /sbin/ping -c 4 ya.ru || /usr/local/etc/rc.d/mpd5 restart 2>&1 >> /dev/null - система не восприняла 2>&1

Вся соль в символах “||” – если команда закончилась с кодом ошибки отличным от нуля, то выполняется команда после ||.

Leave a Reply