Co jakiś czas zawiesza mi się router z Freesco 0.3.0 (przy 0.2.7 było tak samo) i muszę go ręcznie restartować. Przydałoby się to jakoś zautomatyzować.
Próbowałem dwóch różnych skryptów
1. ------------------------------------------------
#
while :;do
sleep 300
ping -c 1
www.home.pl >/var/test.log
if [ "`grep "100%" /var/test.log`" ]; then
sleep 20
ping -c 1
www.home.pl >/var/test.log
ping -c 1
www.wp.pl >>/var/test.log
ping -c 1
www.onet.pl >>/var/test.log
ping -c 1
www.yahoo.com >>/var/test.log
ping -c 1
www.interia.pl >>/var/test.log
if [ "`grep "round-trip" /var/test.log`" ]; then
sleep 1
#wszystko jest ok
else
#nie ma neta - restart
sync
sleep 5
reboot
fi
sleep 5
fi
done
---------------------------------------------------
2. ------------------------------------------------
#!/bin/sh
while :; do
sleep 600 2>/dev/null #10 minut
if [ "`ping -c 1 212.77.100.101 | grep "100%"`" ]; then
mode ethernet
fi
done
---------------------------------------------------
umieściłem je w katalogu /mnt/bootdev/router/rc/, uruchomiłem poleceniem "fork <nazwa_pliku>", dodatkowo umieściłem to polecenie w pliku /mnt/bootdev/router/rc/rc_user i oczywiście nie działa.
Pierwszy skrypt robi zrzuty pingów do logu (przynajmniej tak mi się wydaje) co 5 minut. U mnie nic takiego się nie dzieje dlatego przypuszczam że albo jest coś nie tak ze skryptami (choć utworzyłem te pliki metodą kopiuj-wklej i zrobiłem upload przez ftp) albo nie potrafię się posługiwać poleceniem fork
Nie wiem nawet czy można sprawdzić czy rzeczywiście ten proces pracuje w tle (zapewne nie - ps nic takiego nie wyświetla), polecenie fork nie generuje żadnych informacji - żeby chociaż powiedział "jest git" albo "jest kit". Mogę wpisać "fork blabla" i nawet nie zawiadomi, że nie ma takiego pliku. Może ktoś ma jakiś pomysł.