LINUX.ORG.RU

Помогите со скриптом переподключения интернета.


0

1

Добрый день. Есть такая система - жпрс модем, что б в нем был инет, надо каждые 20 минут заходить на определенную страницу. Работаю я в убунте 11.10 с uniti 2d. Для решения данной проблемы был написан следующий скрипт

#!/bin/bash
while true 
do 
ADDRESS="www.yandex.ru"

if ping -c 1 -s 1 -W 1 $ADDRESS
then
    echo "Connection Good "
else
    alltray chromium-browser /home/as91/intv.html
sleep 10
killall chromium-browser
fi
 sleep 10
done 

но проблема в том, что строчка

alltray chromium-browser /home/as91/intv.html



захватывает строку. Ну или как это правильно сказать - после введения данной строки, по нажатию на энтр курсор смещается в низ и мигает. Не появляется приглашения, пока не закрыть хром, или не нажать ctrl+c. 
Ну собственно скрипт срабатывает 1 раз, а потом зависает на этой строчке, по указанной выше причине. 

Извиняюсь за сумбурное выражение своих мыслей.

С уважением Алексей

Амперсанд поставь в конце строчки, будет тебе счастье.

alltray chromium-browser /home/as91/intv.html &

tiandrey ★★★★★
()

> что б в нем был инет, надо каждые 20 минут заходить на определенную страницу

#!/bin/sh
CHECK="http://www.yandex.ru"
URL="на_какую_страницу_нужно_заходить"
while :
do
ping -c 1 -s 1 -W 1 "$CHECK" || wget "$URL"
sleep 15m
done

Если в том файле intv.html нет ничего секретного (врде логина или пароля), покажите его нам.

AITap ★★★★★
()

может попробовать использовать cron + curl?

dr_magnus
()
Ответ на: комментарий от AITap

Такой вариант не пройдет, потому, что надо на сайте еще логиниться. (входить в личный кабинет). А из личного кабинета уже выходить на страничку. Хром запоминает логин и пароль и не выходит из личного кабинета. Зайти надо на сайт intv.ru . Там же можете почитать про бесплатный 3г инет на скорости 64 кбит, который надо переподключать каждые 20 минут (я за 250 симку взял)

мой файл интв

[code] <HTML> <body> <form name=«f1» action="http://www.intv.ru/abon/" method=«POST»> <input name=«a» value=«buy3g» type=«hidden»> <input name=«ticket_id» value=«4» type=«hidden»> <input name=«iccid» value=«тут номер моей симки» type=«hidden»> </form> <script type=«text/javascript»> document.f1.submit(); </script> </body> </HTML> [/code]

Пробывал консольными браузерами - каждый раз надо еще авторизовываться.

а на счет & в конце - сейчас попробую. Еще вопросик: в консоль идет вывод еще и результата команды ping, как его заставить это делать молча? Не то что б оч мешает, но все же.

as91
() автор топика
Ответ на: комментарий от as91

надо на сайте еще логиниться

Это можно реализовать:
- Если используется стандартная HTTP-авторизация, то даже на wget
- Если используется авторизация с использованием тега FORM, то через curl -F ... или Perl-скриптом с использованием WWW::Mechanize.

<HTML> <body> <form name=«f1» action="http://www.intv.ru/abon/" method=«POST»> <input name=«a» value=«buy3g» type=«hidden»> <input name=«ticket_id» value=«4» type=«hidden»> <input name=«iccid» value=«тут номер моей симки» type=«hidden»> </form> <script type=«text/javascript»> document.f1.submit(); </script> </body> </HTML>

Попробуйте вот так:

curl -F a=buy3g -F ticket_id=4 -F iccid=номер_Вашей_симки http://www.intv.ru/abon/

AITap ★★★★★
()
Ответ на: комментарий от dumal

имеешь в виду через META?

ТС - мысля хорошая

<meta http-equiv=«refresh» content=«600; url=http://...»>

mumpster ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.