Temat: [skrypt] sieci uniwersyteckie
Witam,
z racji tego że rok akademicki się rozpoczął a jak nauczyłem się kompilować po openwrt postanowiłem napisać skrypt rozwiązujące następujące problemy
* jeśli jakiś cymbał włoży kabel od sieci akademickiej zamiast do wan
* sprawdza czy screen jest otwarty jeśli nie otwiera (przydatne w nocy kiedy sobie smacznie śpisz a tu sesja się zamknie i nie masz neta )
* jeśli internetu nie ma +- 15 minut restartuje router
ERROR=0
PASSWORD=tajnehaslo #input your student password
WAN=eth1.2 #input your wan port
PASSWORDTOOL=sshpass #input sshpass or passh
function openScreen {
screen -dmS ssh $PASSWORDTOOL -p $PASSWORD ssh router
}
while [ true ]; do
if [[ $(ifconfig "$WAN" | grep '169.' | cut -d: -f2| awk '{ print $1}'|wc -l) -eq 1 ]]; then
udhcpc -i $WAN
let "ERROR++"
sleep 5
fi
if [[ $(screen -ls | grep -i 'No Sockets' |wc -l) -eq 1 ]]; then
openScreen
let "ERROR++"
sleep 5
fi
if [[ $ERROR -gt 0 ]]; then
if [[ $(wget --timeout=20 --spider http://google.com 2>&1 | grep "www.google.com"| wc -l) -eq 1 ]]; then
let "ERROR=0"
fi
fi
if [[ $ERROR -eq 30 ]]; then
reboot
fi
sleep 30
doneskrypt jest napisany z myślą o UMK jednak myślę że niewielkimi modyfikacjami zadziała na innych sieciach.
sposób instalacji edytujemy plik /etc/rc.local
sleep 30
HOME=/root /bin/ash /root/nazwaSkryptu.sh&#dla umk
jeżeli nie masz jeszcze skonfigurowanego ssh pobierz ssh-client
i postępuj wg instrukcji na stronę
#offtop
cerazry wielkie dzięki za nie jedną pomoc za soft dla linksys 32x który działa szybciej niż oryginalny openwrt na nim (tylko wyższe kanały nie działają ale to norma na openwrt wiec się pogodziłem )
w tym tygoniu postaram się zrobić dotacje
z wazie jakiś pytań sugestii co poprawić piszcie śmiało
pozdrawiam
Wiktor Wołk