26

Odp: CRON - skrypt do kontrolowania połączenia

Te komedy muszą być?


/etc/init.d/cron stop

/etc/init.d/cron enable
/etc/init.d/cron start

27

Odp: CRON - skrypt do kontrolowania połączenia

wyłącza i włącza cron. Musisz to zrobić po zmianie konfiga crona (lub zrestartować router).

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

28

Odp: CRON - skrypt do kontrolowania połączenia

Gdy skrypt uruchomię ręcznie wszystko działa. Po przywróceniu połączenia i po ponownym uruchomieniu WAN , połączenia się wznawia, a mail wysyła. problem był w ścieżce do treści mail.txt. Usunąłem ścieżkę i zostawiłem sam mail.txt i msmtp -t czyli

cat mail.txt | msmtp -t >> /tmp/msmtp.log 2>&1

Niestety przez CRON'a nie chce się uruchomić lub uruchamia się jedynie w zakresie: ifup wan.

Można zweryfikować jakie czynności wykonuje CRON, bo w logoach widzę jedynie jak wystąpi jakiś błąd, ale to widziałem podczas konfiguracji crontab, ale po naprawie błedu, nie widzę czy CRON się wykonuje i co dokładnie robi.

29

Odp: CRON - skrypt do kontrolowania połączenia

Pełną ścieżkę podaj do pliku. Jak dasz bez to nie wiesz gdzie szuka tego pliku.

Nie ma możliwości zabawi z cronem. On po prostu uruchamia zadanie a jak coś mu nie pasuje to wypisuje to w logach. Sam w skrypcie też możesz sobie zrobić logowanie różnych rzeczy.

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

30

Odp: CRON - skrypt do kontrolowania połączenia

Ostatecznie crontab wygląda tak:

00 6 * * 1 sleep 70 && touch /etc/banner && reboot
00 7 * * * sync && echo 3 > /proc/sys/vm/drop_caches
00 19 * * * sync && echo 3 > /proc/sys/vm/drop_caches
00 22 * * * sync && echo 3 > /proc/sys/vm/drop_caches

*/1 * * * * /bin/tester.sh

Oprócz moich wcześniejszych ustawień do konserwacji routera dodałem jedynie ostatni zapis.
Teraz widzę w logach, że cron co minutę uruchamia skrypt tester.sh i wszystko działa.

Czy mogę pominąć te opcje jego wyłączania/włączania czyli:

/etc/init.d/cron stop

/etc/init.d/cron enable
/etc/init.d/cron start

31

Odp: CRON - skrypt do kontrolowania połączenia

Przecież już dodałeś wpis do crona to po co chcesz kolejny raz to wykonywać czy pomijać? Po prostu tego już nie robisz.

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

32 (edytowany przez Bruno 2025-07-25 22:33:57)

Odp: CRON - skrypt do kontrolowania połączenia

Sugerowałem się Twoim poradnikiem Automatyczny restart połączenia https://eko.one.pl/?p=openwrt-3g#automa … rtpoczenia

Następnie można dodać wywołanie tego skryptu do crona i uruchamiamy go:

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

33

Odp: CRON - skrypt do kontrolowania połączenia

No tak, dodajesz. Jeden raz. Już dodałeś. Więc nie musisz tego wykonywać w nieskończoność, bo przecież już dodałeś.

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

34 (edytowany przez Bruno 2025-07-26 09:25:25)

Odp: CRON - skrypt do kontrolowania połączenia

Dziękuję za wyjaśnienie. Wszystko powinno działać. Czy ten skrypt niżej można rozbudować, żeby w logread był widoczny proces testowania połączenia itp?

Czy da się dodać polskie znaki? W Vi zastępuje mi polskie znaki...

 #!/bin/sh
echo  "$(date) cron dziala" >> /tmp/tester.log
if ! ping -q -c 1 -W 5 google.com > /dev/null; then
    echo "Brak internetu, probuje wznowic" >> /tmp/tester.log
    ifup wan
    for i in $(seq 1 20); do
        sleep 3
        if ping -q -c 1 -W 5 google.com > /dev/null; then
            echo "Polaczenie przywrocone, wysylam maila" >> /tmp/tester.log
            cat mail.txt | msmtp -t >> /tmp/msmtp.log 2>&1
            break
        fi
    done
else
    echo "Internet jest OK" >> /tmp/tester.log
fi

35

Odp: CRON - skrypt do kontrolowania połączenia

logger "coś tam"

Wstaw sobie gdzie chcesz ro będzie to wypisywał w logach.

Polskie litery nie sa ci potrzebne w systemie który lokali nie wspiera.

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

36 (edytowany przez Bruno 2025-07-26 11:07:26)

Odp: CRON - skrypt do kontrolowania połączenia

Czy tak będzie ok?

 
#!/bin/sh

logger "[$(date)] CRON: Skrypt dziala"

if ! ping -q -c 1 -W 5 google.com > /dev/null; then
    logger "Brak internetu, probuje wznowic"
    ifup wan
    for i in $(seq 1 20); do
        sleep 3
        if ping -q -c 1 -W 5 google.com > /dev/null; then
            logger "Polaczenie przywrocone, wysylam maila"
            cat mail.txt | msmtp - t
            break
        fi
    done
fi

37

Odp: CRON - skrypt do kontrolowania połączenia

Uruchom. Jak będziesz miał w logach informację to ok.

Ten pierwszy logger jest zbędny. cron sam loguje informacje że uruchamia dany skrypt.

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

38

Odp: CRON - skrypt do kontrolowania połączenia

zastanawiam się czy nie lepiej byłoby zamiast restartu WAN robić restart całego routera? Czy komenda reboot nie byłaby pewniejsza?

39

Odp: CRON - skrypt do kontrolowania połączenia

Znów - jaką akcję zastosujesz to od ciebie zależy. Jeżeli uważasz że reboot lepiej pomaga - śmiało, rób.

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

40 (edytowany przez Bruno 2025-07-26 19:30:43)

Odp: CRON - skrypt do kontrolowania połączenia

Cezary, przepraszam że zawracam głowę smile Ale jesteś dla mnie kompendium wiedzy, wolę się dopytać niż uczyć na błędach. Bardzo dziękuję za każdą Twoją odpowiedź i błyskawiczne wsparcie smile

Przy okazji, czy owut upgrade skasuje skrypt z BIN tester.sh ? Mam wrażenie, że tak się teraz stało po aktualizacji owut upgrade.

41

Odp: CRON - skrypt do kontrolowania połączenia

Tak, o ile nie dodałeś go do sysupgrade. https://eko.one.pl/?p=openwrt-backup#tw … pieczestwa i dodaj sobie listę plików do odpowiednich miejsc to przetrwa to sysupgrade.

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

42

Odp: CRON - skrypt do kontrolowania połączenia

Dodałem dwa pliki: mail.txt i /bin/tester.sh do /etc/sysupgrade.conf
Czy to wystarczy, aby sysupgrade nie skasowało tego skryptu i pliku txt ?

43

Odp: CRON - skrypt do kontrolowania połączenia

Mam nadzieję że z pełnymi ścieżkami. Teraz po prostu zrób sysupgrade z zachowaniem konfiguracji i zobacz czy się zachowają...

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

44 (edytowany przez Bruno 2025-07-26 20:24:37)

Odp: CRON - skrypt do kontrolowania połączenia

zrobiłem z komendą --force, bo nie było co aktualizować i jest ok smile

Plik mail.txt przeniosłem do /bin w to samo miejsce co tester.sh

Wygląda, że teraz sysupgrade nie kasuje tych moich skryptów. Zobaczę jeszcze przy kolejnym owut upgrade jak się pojawią nowe aktualizacje.

45 (edytowany przez Bruno 2025-07-27 10:45:11)

Odp: CRON - skrypt do kontrolowania połączenia

Gdzie są ustawienia systemowe, że np. cat /bin/mail.txt | msmtp - t

msmtp działa bez ścieżki dostępu, a do pliku mai.txt musiałem dodać ścieżkę.

2. Przy Owut check bardzo często router się restartuje, czy to wynika z przepełnienia pamięci urządzenia ?

46 (edytowany przez Cezary 2025-07-27 10:49:17)

Odp: CRON - skrypt do kontrolowania połączenia

Podstawy systemów linuksowych - programy "wykonywalne", jeżeli nie podałeś pełnej ścieżki to  szukane są w katalogach określonych w zmiennej środowiskowej PATH - wykonaj polecenie env to ją zobaczysz. msmtp jest w jednym z tych katalogów (/usr/bin) więc nie musisz podawać pełnej ścieżki.

Ideologicznie /bin nie jest odpowiednim miejscem do przechowywania takich rzeczy, tam powinny być tylko binarki. Ideologicznie, bo to linux i możesz sobie  to umieścić prawie wszędzie gdzie chcesz, system nie dba o to. Ale ideologicznie powinieneś to zrobić np. w /etc.

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

47

Odp: CRON - skrypt do kontrolowania połączenia

Bruno napisał/a:

2. Przy Owut check bardzo często router się restartuje, czy to wynika z przepełnienia pamięci urządzenia ?

Owut ściąga pliki i gotowe obrazy do /tmp. Jeżeli masz /tmp zawalony to tak, może się system przekręcać z powodu braku pamięci.

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

48 (edytowany przez Bruno 2025-07-27 10:53:28)

Odp: CRON - skrypt do kontrolowania połączenia

Cezary napisał/a:

Ideologicznie /bin nie jest odpowiednim miejscem do przechowywania takich rzeczy, tam powinny być tylko binarki. Ideologicznie, bo to linux i możesz sobie  to umieścić prawie wszędzie gdzie chcesz, system nie dba o to. Ale ideologicznie powinieneś to zrobić np. w /etc.

Wobec tego będę pamiętać, żeby wrzucić do /etc. czy podczas sysupgrade również muszę wrzucić do wykluczeń plik mail.txt z folderu etc? Rozumiem, że skrypt tester.sh mogę zostawić w bin, czy również powinienem wrzucić do /etc.

Cezary napisał/a:
Bruno napisał/a:

2. Przy Owut check bardzo często router się restartuje, czy to wynika z przepełnienia pamięci urządzenia ?

Owut ściąga pliki i gotowe obrazy do /tmp. Jeżeli masz /tmp zawalony to tak, może się system przekręcać z powodu braku pamięci.

Czy mogę śmiało usunąć cały folder /tmp ?


0.db                           opkg-lists
TZ                             overlay
adblock-backup                 owut-failures-feeds.html
adblock-report                 resolv.conf
board.json                     resolv.conf.d
collectd.conf                  rrd
dhcp.leases                    run
dnsmasq.d                      shm
etc                            spool
hosts                          state
lib                            sysinfo
lock                           tmp
log                            usr
luci-indexcache.21dd52e2.json

49

Odp: CRON - skrypt do kontrolowania połączenia

Wszystko co chcesz zachować ma być dodanie do konfiga sysupgrade. /bin nie jest zachowywany domyślnie (i nie powinien, bo tak m.in są wkładane nowe wersje z pakietów, głupio by było robić upgrade i jednocześnie zachować binarki ze starych wersji).

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

50

Odp: CRON - skrypt do kontrolowania połączenia

Bruno napisał/a:
Cezary napisał/a:

Ideologicznie /bin nie jest odpowiednim miejscem do przechowywania takich rzeczy, tam powinny być tylko binarki. Ideologicznie, bo to linux i możesz sobie  to umieścić prawie wszędzie gdzie chcesz, system nie dba o to. Ale ideologicznie powinieneś to zrobić np. w /etc.

Wobec tego będę pamiętać, żeby wrzucić do /etc. czy podczas sysupgrade również muszę wrzucić do wykluczeń plik mail.txt z folderu etc? Rozumiem, że skrypt tester.sh mogę zostawić w bin, czy również powinienem wrzucić do /etc.

Cezary napisał/a:
Bruno napisał/a:

2. Przy Owut check bardzo często router się restartuje, czy to wynika z przepełnienia pamięci urządzenia ?

Owut ściąga pliki i gotowe obrazy do /tmp. Jeżeli masz /tmp zawalony to tak, może się system przekręcać z powodu braku pamięci.

Czy mogę śmiało usunąć cały folder /tmp ?


0.db                           opkg-lists
TZ                             overlay
adblock-backup                 owut-failures-feeds.html
adblock-report                 resolv.conf
board.json                     resolv.conf.d
collectd.conf                  rrd
dhcp.leases                    run
dnsmasq.d                      shm
etc                            spool
hosts                          state
lib                            sysinfo
lock                           tmp
log                            usr
luci-indexcache.21dd52e2.json

W źyciu. Nie usuwaj nic czego sam tam nie dodałeś, to są pliki które powstają podczas działa systemu i jego elemenentów.

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