Страница 1 из 1

Удалённая перезагрузка dir-320

Добавлено: 2011-04-15 18:58:31
Alex Keda
сабж со стандартной прошивкой.

дома за точкой стоит комп на котором ftp хранилищще бэкапов.
стал постоянно инет подлагивать - причём точка без ребута не подцепляет новый динамический адрес.
пришлось нарисовать такое вот поделие:

Код: Выделить всё

p3-800# cat /root/scripts/dir-320.reboot.sh
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

login="admin"
pass="21255297a5ea"
host="192.168.254.1"

# check access point
ping -c 3 $host >/dev/null 2>&1 || exit;

# check inet
if ping -c 3 ya.ru >/dev/null 2>&1
then
        # OK
else
        cd /tmp/
        wget -S -O - --keep-session-cookies --save-cookies /tmp/.cookie --post-data "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=$login&LOGIN_PASSWD=$pass" http://$host/login.php
        wget -S -O - --keep-session-cookies --load-cookies /tmp/.cookie "http://$host/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT"
        echo "inet is down, reboot dir-320" | mail -s "reboot dir-320" root 
fi
и в крон раз в 5 минут.
наблюдаю, по результатам отпишусь

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-16 14:19:22
Alex Keda
вторая версия.
- пропускается один цикл, если на перыдущем был ребут
- проверяется не один сайт а два, с таймаутом между проверками - для избегания ложных срабатываний в случае кратковременного пропадания инета, например.
- добавлена опция таймаута к ключам wget

Код: Выделить всё

p3-800# cat /root/scripts/dir-320.reboot.sh
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

login="admin"
pass="57834273287208"
host="192.168.254.1"

lock_file="/tmp/dir-320.txt"

# check lock file
if test -f $lock_file
then
        # delete file and exit
        rm -f $lock_file
        exit
fi

# check access point
ping -c 3 $host >/dev/null 2>&1 || exit;

# check inet
if ping -c 3 ya.ru >/dev/null 2>&1
then
        # OK
else
        sleep 60
        # second check
        if ping -c 3 www.google.com >/dev/null 2>&1
        then
                # OK
        else
                cd /tmp/
                wget -S -O - --timeout=30 --keep-session-cookies --save-cookies /tmp/.cookie --post-data "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=$login&LOGIN_PASSWD=$pass" http://$host/login.php
                wget -S -O - --timeout=30 --keep-session-cookies --load-cookies /tmp/.cookie "http://$host/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT"
                echo "inet is down, reboot dir-320" | mail -s "reboot dir-320" root
                # lock file for next stage
                echo 1 > $lock_file
        fi
fi

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-18 9:10:24
hizel
прошивка какая?

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-18 13:27:36
Alex Keda
штатная 1.21 чтоли

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-19 7:57:16
alex117
Может у тебя дело не в инете, а в роутере? На D-Link идут постоянные жалобы, что соединение рвется.

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-19 9:19:48
Alex Keda
в инете. комп с которого ватчдог смотрит - он раньше был гейтом.
было тоже самое.

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-19 10:55:08
FreeBSP
а перешить на ddwrt или OpenWrt не лучше? шелл будет, на нем на самом можно будет что то ковырять без ребута

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-19 10:58:29
hizel
да позвони уже провайдеру

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-19 14:34:16
Alex Keda
к нему нет физического доступа
оно на антресолях стоит.
туда лезть очень тяжело и долго.

да и менять один линух на другой - не вижу смысла

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-20 13:46:06
manefesto
у меня стоял последняя прошивка, но точне не та которую ты сказал, вроде повыше версия была, нормально работало на 3G!!!! модеме.
пинай прова

Re: Удалённая перезагрузка dir-320

Добавлено: 2011-04-20 20:02:52
Alex Keda
от мне делать больше нечего...
чем больше от него народу разбежится - тем свободней каналы будут.
а я себе костыль уже нарисовал =))

Re: Удалённая перезагрузка dir-320

Добавлено: 2013-04-29 10:01:50
ray8810
Alex Keda писал(а):вторая версия.
- пропускается один цикл, если на перыдущем был ребут
- проверяется не один сайт а два, с таймаутом между проверками - для избегания ложных срабатываний в случае кратковременного пропадания инета, например.
- добавлена опция таймаута к ключам wget

Код: Выделить всё

p3-800# cat /root/scripts/dir-320.reboot.sh
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

login="admin"
pass="57834273287208"
host="192.168.254.1"

lock_file="/tmp/dir-320.txt"

# check lock file
if test -f $lock_file
then
        # delete file and exit
        rm -f $lock_file
        exit
fi

# check access point
ping -c 3 $host >/dev/null 2>&1 || exit;

# check inet
if ping -c 3 ya.ru >/dev/null 2>&1
then
        # OK
else
        sleep 60
        # second check
        if ping -c 3 www.google.com >/dev/null 2>&1
        then
                # OK
        else
                cd /tmp/
                wget -S -O - --timeout=30 --keep-session-cookies --save-cookies /tmp/.cookie --post-data "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=$login&LOGIN_PASSWD=$pass" http://$host/login.php
                wget -S -O - --timeout=30 --keep-session-cookies --load-cookies /tmp/.cookie "http://$host/sys_cfg_valid.xgi?&exeshell=submit%20REBOOT"
                echo "inet is down, reboot dir-320" | mail -s "reboot dir-320" root
                # lock file for next stage
                echo 1 > $lock_file
        fi
fi
Здравствуйте!

Подскажите простому юзеру :smile: Как реализовать это, хотелось бы более подробную инструкцию.
Наш роутер находится в другом конце города и переодически подвисает соединение и приходится ездить и ребутить его в ручную.

Re: Удалённая перезагрузка dir-320

Добавлено: 2013-04-29 10:08:01
Alex Keda
из втнутренней сети - подобным скриптом мониторить...
ничё сложного, в общем-то