система Debian 8.7 в организации два интернет-шлюза 192.168.0.6 и 192.168.0.13 сейчас у этого компа шлюз 192.168.0.6 если по какой-то причине у данного компьютера пропал интернет, то если на момент пропажи был 192.168.0.6, то меняем его на 192.168.0.13 если на момент пропажи был другой шлюз (имеется ввиду 192.168.0.13), то меняем его на 192.168.0.6 в обоих случаях заносится запись в log и перезапускается сеть
скрипт:
#!/bin/bash
if ping 8.8.8.8 -c 1 | grep "+1 error" # если интернет не отвечает, то
then
sed -n 21p /etc/network/interfaces > tmp1 # сохраняем 21 строку из файла interfaces
echo "gateway 192.168.0.6" > tmp2 # если сравнивать с 6 шлюзом
if diff tmp1 tmp2
then # если настоящий шлюз == 192.168.0.6, то тогда
echo `date` "################## упал шестой" >> log # заносим запись в журнал
sed -i "s/192.168.0.6/192.168.0.13/g" /etc/network/interfaces # меняем 6 на 13
service networking restart # и перезапускаем сеть
else # если шлюз был 13, то тогда
echo `date` "################## упал тринадцатый" >> log # заносим запись в журнал
sed -i "s/192.168.0.13/192.168.0.6/g" /etc/network/interfaces # меняем 13 на 6
service networking restart # и перезапускаем сеть
fi
rm -f tmp1 && rm -f tmp2 # удаляем временные файлы
else
echo `date` "всё ок" >> log
fi
Что скажете? Нормально сделал?