1 (edytowany przez IceG 2016-03-29 23:46:56)

Temat: Restart połączenia w przypadku braku internetu (skrypt)

Cześć smile
Z racji tego iż użytkownicy Gargoyle posiadają swój zaawansowany monitor połączenia (Watchdog) chciałem coś ogarnąć dla tych co siedzą na LuCI, wiem że na forum jest już taki skrypt w temacie "przydatne", ale z tego co zauważyłem posiadając przez chwilę Gargulca dedykowany skrypt lepiej działa.

Chciałem aby w pierwszej kolejności następował restart interfejsu sieciowego, a jak to nie pomoże to restart routera i w związku z tym mam pytanie czy taki skrypt jest ok?

    #!/bin/sh
    if ! ping -q -c 5 -W 10 google.com > /dev/null; then

            (ifdown wan; sleep 5; ifup wan; sleep 15) &

            if ! ping -q -c 5 -W 10 google.com > /dev/null; then

                    (reboot) &

            fi
    fi
Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

2

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Po co ten drugi ping? if down puszczasz w tło, więc drugie się wykona i będziesz miał reboot natychmiast. Skrypt jest na tyle prosty że mogłeś go przetestować od razu...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Skrypt testowałem ale właśnie za każdym razem jest restart, a chciałem aby restart był "w ostateczności". Dlatego napisałem bo może jest szansa aby to jakoś inaczej, poprawnie rozpisać. Ping nr 2 miał z założenia sprawdzać czy po ifup wan nastąpiło wznowienie połączenia, jak nie to restart.. ale już wiem że to tak nie działa.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

4

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Więc


            ifdown wan
            sleep 5
            ifup wan
            sleep 15
            if ! ping -q -c 5 -W 10 google.com > /dev/null; then

Zakładając ze po 15s już się podniesie. Lepiej by to było zrobić na hotplugu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Wrzuciłem ten kod powyżej i zobaczymy jak to będzie żyło.

Cezary napisał/a:

Lepiej by to było zrobić na hotplugu.

Cezary jeżeli jest szansa aby zrobić to lepiej, pewniej to jestem otwarty na propozycję, zresztą chyba nie tylko mi przydałby się taki sprawdzony sposób na wznawianie/restart modemowego połączenia.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

6

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Skrypt ten co zawsze: http://eko.one.pl/?p=openwrt-3g#automat … rtpoczenia

A na hotplugu jeżeli jest ifup wanu to odczekaj 15s, sprawdź czy jest wan jak nie ma to reboot urządzenia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Prosze o pomoc mam ruterek Sagemcom 2704 wgralem OpenWRT luci, konfiguracje jest ok dziala z modemem zte lte ,modem trzyma polaczenie ale co jakis czas jest brak internetu, po ponownym polaczeniu interfejsu internet wraca, Mam  pytanie jak  mam wpisac skrypt restartu polaczenia albo jak ustawic to w luci. Jestem laikiem wiec prosze nie krytykowac smile  openwrt wgralem z obrazu pobranego z forum.

8

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Masz to dokładnie opisane w powyższym linku co masz zrobić, polecenie po poleceniu i zawartość skryptu. Jak się połączyć przez ssh masz w faq na górze tej strony, jak edytować tez - vi lub nano, jak sobie doinstalujesz nano.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Ale ty masz na myśli połączenie WiFi czy z siecią komórkową? Bo jak to pierwsze to po prostu sterowniki są beznadziejne i nic z tym nie zrobisz.

10

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Cezary napisał/a:

Masz to dokładnie opisane w powyższym linku co masz zrobić, polecenie po poleceniu i zawartość skryptu. Jak się połączyć przez ssh masz w faq na górze tej strony, jak edytować tez - vi lub nano, jak sobie doinstalujesz nano.


OK powoli do przodu jestem na etapie WinSCP. udalo mi sie polaczyc cobaczyc kaalogi rutera, przez putty tez sie polaczylem shh zainstalowalem przez putty nano zgodnie z instrukcja faq "nano (poleceniem: opkg update; opkg install nano)" ale nie wiem co dalej jak go uruchomic i tworzyc skrypty. za to zauwazylem ze  programem wincsp po zalogowaniu w katalogach moge stworzyc plik, czy jak w jego zawartosc wkleje tresc z powyzszej instrukcji , odpowiednio nazwe i umieszcze plik w odpowiednim katalogu - czy to bedzie dzialac jako  skrypt ? z gory dziekuje za pomoc, sa to moje pierwsze kroki  z tym programem.

11 (edytowany przez steel_rat 2019-02-10 04:53:55)

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Najlepiej jednak używać nano. Skladnia to np.: nano plik.sh tworzy tobie plik.sh w aktualny folderze. Od razu bo też edytuje. Jak skrypty piszesz pod Windowsem i myślisz by je Przerzucić za pomocą winscp to musisz pamiętać o tym że edytory widowsowe inaczej koduja koniec linii. Najlepiej używać notepad++  Tam w opcjach da się zmienić znacznik końca linii. Skryptom które stworzysz musisz sam też prawo do wykonywania się. Inaczej nie wystartują. Zresztą polecenie z tutoriala "touch /bin/tester.sh" tworzy plik tester.sh w katalogu "bin". Polecenie "nano /bin/tester.sh" edytuje ten plik.

12

Odp: Restart połączenia w przypadku braku internetu (skrypt)

ok dzieki, udalo mi sie stworzyc w katalogu bin plik tester.sh edytowalem go jak kolega wyzej mi polecil przez nano w putty  i wkleilem zawartosc  #!/bin/sh
    if ! ping -q -c 1 -W 10 google.com > /dev/null; then
        (ifup wan) &
    fi

plik sie pojawil z zawartoscia ale o co chodzi z tym cronem czy musze tez to raboc aby polaczenie sie utrzymalo jesli tak to prosze lopatologicznie jak smile.

i pytanie co oznacza :    # chmod 755 /bin/tester.sh  i gdzie to wpisac

13

Odp: Restart połączenia w przypadku braku internetu (skrypt)

jeszcze jedno pytanie czy da sie wgrac Gargolye na moj ruter sagem fast 2704 v2? tam widzialem ze jest ogarniete w programie juz wznawianie polaczenia , ale nigdzie nie moge obrazu gargulca na ten ruter znalezc  a nie chce ryzykowac i go zabic pierwszym lepszym poki mam jeszcze z nim kontakt smile

14

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Nie da się bo nie ma Gargoyle na Broadcom (na kilka starszych było).

15

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Resztę poleceń wklejasz przez Putty. Tylko pomijasz znak "#". Bo inaczej nie zadziała.

16

Odp: Restart połączenia w przypadku braku internetu (skrypt)

I tylko przypomnę że to wszystko jest opisane w faq na górze tej strony...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Restart połączenia w przypadku braku internetu (skrypt)

dziekuje wszystkim za pomocne wskazowki.. Cos nowego sie nauczylem i poznalem ale niestety poniaslem kleske smile chyba porwalem sie motyka na slonce   i przerosl mnie brak wiedzy w tej dziedzinie. Ruterek dziala ale polaczenie po paru godz sie jakby zawiesza , wraca jak wyciagne i wloze modem lub zaloguje sie na luci i polacze interfejs albo po restarcie urzadzenia. Opisane zabiegi nie Pomogly byc moze cos zle zrobilem. Ruter co prawda dostalem od znajomego ktory go chcial wyrzucic , planowalem dac mu drugie zyce ale mysle ze i tak duzo czasu mu poswiecilem w stsunku do jego znikomej wartosci, bo za 30-40 zeta kupi sie juz dzialajacy z modemem lte. No ale bylo to bardziej eksperymetalne doswiadczenie  i jaka by byla satysfakcja jak by sie powiodlo... Moge jedynie pozostawic do kolegow jeszcze jedna prsbe, mianowicie moge podeslac wsad w postaci pliku bin z mojego rutera , i jesli bylby ktorys z kolegow fachowcow tak uprzejmy i mi go zmodyfikowal na gotowa abym wgral go na ruter z dzialajacymi funkcjami. Oczywiscie nie za darmo. ale bylbym wdzieczny jak by ie udalo bo mi poprostu szkoda tego rutera i mi sie podoba smile Prosba chyba najbardziej kierwana do kolegi Cezarego bo widze ze on tutaj jest guru w luci smile Na zakonczenie tego  dlugiego jak tasiemiec mojego psa wywodu jeszcze raz dziekuje wszystkim za dbre checi i pomoc. smile

18

Odp: Restart połączenia w przypadku braku internetu (skrypt)

widze ze on tutaj jest guru w luci

Krótko jesteś na forum żeby wiedzieć że jest dokładnie odwrotnie.

Zaloguj się przez ssh i pokaż wyniki poleceń:

cat /etc/crontabs/root
cat /bin/tester.sh
ls -la /bin/tester.sh

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Przepraszam jesli urazilem ale Zasugerowalem sie twoja iloscia postow i data zasiedzenia forum smile

oto wyniki z putty dla twoich polecen.


root@OpenWrt:~# cat /etc/crontabs/root
root@OpenWrt:~# cat /bin/tester.sh
#!/bin/sh
    if ! ping -q -c 1 -W 10 google.com > /dev/null; then
        (ifup wan) &
    fi
root@OpenWrt:~# ls -la /bin/tester.sh
-rwxr-xr-x    1 root     root            96 Feb 10 10:29 /bin/tester.sh
root@OpenWrt:~#

20

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Nie dodałeś wywołania tego skryptu do crona. Nie wykonałeś wszystkich poleceń który były w poradniku;

    /etc/init.d/cron stop
    echo "*/2 * * * * /bin/tester.sh" >> /etc/crontabs/root
    /etc/init.d/cron enable
    /etc/init.d/cron start

EDIT: ale w ogóle zobacz czy jak powiesi ci się połączenie to ifup wan pomaga. Bo jak nie to i w/w skrypt nic nie zrobi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Restart połączenia w przypadku braku internetu (skrypt)

czy te polecenia mam poprostu bezposrednio wpisac  po zalogowaniu sie w putty przez shh? czy tez w jakims pliku?  nie rozumiem zasady dzialania crona wie tyle co wyczytalem ze chodzi o cylkiczne wlaczanie czegos.

22 (edytowany przez boaooooo 2019-02-10 23:15:35)

Odp: Restart połączenia w przypadku braku internetu (skrypt)

teraz mam tak

root@OpenWrt:~# cat /etc/crontabs/root
*/2 * * * * /bin/tester.sh
root@OpenWrt:~# cat /bin/tester.sh
#!/bin/sh
    if ! ping -q -c 1 -W 10 google.com > /dev/null; then
        (ifup wan) &
    fi
root@OpenWrt:~# ls -la /bin/tester.sh
-rwxr-xr-x    1 root     root            96 Feb 10 10:29 /bin/tester.sh
root@OpenWrt:~#


czyli cos sie dodalo.  Zobaczymy do jutra czy utrzyma sie polaczenie. I pytanie czy po odcieciu zasilania te ustawienia i wpisy wszystko sie zachowa  w pamieci?

23

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Te akurat tak.

Cron jest opisany na eko.one.pl, poczytaj.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: Restart połączenia w przypadku braku internetu (skrypt)

boaooooo napisał/a:

Przepraszam jesli urazilem ale Zasugerowalem sie twoja iloscia postow i data zasiedzenia forum

Cezary nie używa luci (interfejsu graficznego) i uważa że jest słabe i ogólnie do niczego i lepiej użyć konsoli smile myślę że w temacie OpenWrt to akurat on jest guru

25

Odp: Restart połączenia w przypadku braku internetu (skrypt)

Cezary napisał/a:

Nie dodałeś wywołania tego skryptu do crona. Nie wykonałeś wszystkich poleceń który były w poradniku;

    /etc/init.d/cron stop
    echo "*/2 * * * * /bin/tester.sh" >> /etc/crontabs/root
    /etc/init.d/cron enable
    /etc/init.d/cron start

EDIT: ale w ogóle zobacz czy jak powiesi ci się połączenie to ifup wan pomaga. Bo jak nie to i w/w skrypt nic nie zrobi.



A wec taK> JESZCZE sie nie poddalem smile  ifup wan faktyczni nie pomaga -polaczenie sie nie wznawia. Cron dziala bo w luci w logu urzadzenia widze ze co pare minut wywoluje plik tester.  natomiast w tester zamiast ifup wan pomyslalem ze wrzuce reboot, bo w putty jak mialem  zaciete polaczenie wpisalem reboot i sie zrestartowal razem z polaczeniem. Dlatego jak by sie sam restartowal to juz by byla polowa sukcesu taka prowizorka bo sie caly restartuje ale to juz co. Polaczenie zacina mi co jakies 6 godzin . 
Czy jest jakas komenda ktora by restrtowala samo podlaczenie modemu  ewentualnie odlaczala i podlaczala modem na nowo,  tak aby wpisac w pliku testera zeby sie caly rutek nie restartowal?