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
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → CRON - skrypt do kontrolowania połączenia
Strony Poprzednia 1 2 3 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
Te komedy muszą być?
/etc/init.d/cron stop
/etc/init.d/cron enable
/etc/init.d/cron start
wyłącza i włącza cron. Musisz to zrobić po zmianie konfiga crona (lub zrestartować router).
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.
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.
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.shOpró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 startPrzecież już dodałeś wpis do crona to po co chcesz kolejny raz to wykonywać czy pomijać? Po prostu tego już nie robisz.
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 startNo tak, dodajesz. Jeden raz. Już dodałeś. Więc nie musisz tego wykonywać w nieskończoność, bo przecież już dodałeś.
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
filogger "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.
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
fiUruchom. Jak będziesz miał w logach informację to ok.
Ten pierwszy logger jest zbędny. cron sam loguje informacje że uruchamia dany skrypt.
zastanawiam się czy nie lepiej byłoby zamiast restartu WAN robić restart całego routera? Czy komenda reboot nie byłaby pewniejsza?
Znów - jaką akcję zastosujesz to od ciebie zależy. Jeżeli uważasz że reboot lepiej pomaga - śmiało, rób.
Cezary, przepraszam że zawracam głowę
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 ![]()
Przy okazji, czy owut upgrade skasuje skrypt z BIN tester.sh ? Mam wrażenie, że tak się teraz stało po aktualizacji owut upgrade.
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.
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 ?
Mam nadzieję że z pełnymi ścieżkami. Teraz po prostu zrób sysupgrade z zachowaniem konfiguracji i zobacz czy się zachowają...
zrobiłem z komendą --force, bo nie było co aktualizować i jest ok ![]()
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.
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 ?
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.
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.
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.
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
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).
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.
Strony Poprzednia 1 2 3 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → CRON - skrypt do kontrolowania połączenia
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc