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
Вся соль в символах “||” – если команда закончилась с кодом ошибки отличным от нуля, то выполняется команда после ||.
Windows XP as router AT8000S/24 switches + slow DHCP