[Решено] 2 шлюза скрипт+крон

Автор kvazik, 13 сентября 2013, 08:45:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kvazik

Товарищи, помогите разобраться! Есть скрипт на bash, который переключает шлюз на запасной если основной падает. Если запустить скрипт с консоли все ок, в лог пишется
Sep 13 15:34:19 zakaz logger: MAIN working
и скрипт завершает работу. Если запускаю скрипт из под крона от пользователя root то в лог пишется
Sep 13 15:42:04 zakaz logger: MAIN working
Sep 13 15:42:04 zakaz logger: Default route switch to MAIN: 109.126.14.129
Почему скрипт продолжает выполняться?


Вот сам скрипт :
#! /bin/bash

MAIN=109.126.14.129
SECOND=79.122.167.45


CURRENT=$(route -n | tail -1 | awk '{ print $2}')

echo $CURRENT


if ping -c4 $MAIN > /dev/null 2>&1; then
echo "MAIN working"
logger "MAIN working"

if [ $MAIN = $CURRENT ]; then

echo "MAIN current. Exit"
  exit 0
else

echo "MAIN not Current, switch yo MAIN"
  route del default 2> /dev/null
  route add default gw $MAIN
  logger "Default route switch to MAIN: $MAIN"
echo "Default route switched to MAIN: $MAIN"
  exit 0
fi
else
echo "MAIN not working"


if [ $SECOND = $CURRENT ]; then

echo "Second = Current. Exit"
  exit 0
else


echo "Second not Current. switch to Second"
  route del default 2> /dev/null
                route add default gw $SECOND
                logger "Default route switch to SECOND: $SECOND"
echo "Default route switched to SECOND: $SECOND"
                exit 0
fi
fi






Сообщение объединено: 13 сентября 2013, 10:42:16

Разобрался надо было взять в кавычки

if [ "$MAIN" = "$CURRENT" ]; then