script der kører hver time og checker at internettet er oppe
Jeg har på det sidste haft det problem, at netværket er ustabilt. Hvordan laver jeg et skript, der kører
sudo /etc/init.d/networking restart
en gang i timen (og altså også skriver root-kodeord, hvis det er nødvendigt)
Kører kubuntu
sudo /etc/init.d/networking restart
en gang i timen (og altså også skriver root-kodeord, hvis det er nødvendigt)
Kører kubuntu
Kommentarer5
Hvorfor?
Re: script der kører hver time og checker at internettet er opp
Kan ikke huske hvordan det lige er, men man kan skrive i /etc/sudoers at en bruger skal være i stand til at udføre specifikke commands med sudo uden at det er nødvendigt at indtaste password.
Re: script der kører hver time og checker at internettet er opp
Men det jeg leder efter er:
en måde, hvorpå man kan køre et skript en gang i timen
og
en måde, hvorpå man kan skrive root-kodeordet, hvis det behøves
/etc/sudoers
brugernavn host = NOPASSWD: komando
i dit tilfælde noget i stil med
clauswilson localhost = NOPASSWD: /etc/init.d/networking restart
(ved ikke lige om det virker med localhost og selvfølgelig heller ikke om dit brugernavn er clauswilson)
ex på scriptet uden fejltjeck
#!/bin/bash
sudo /etc/init.d/networking restart
lav et symlink til dit script i /etc/cron.hourly
Men, som de to foregående indlæg peger på ville jeg nu hellere finde ud af hvad årsagen til problemet er.
Re: script der kører hver time og checker at internettet er opp
Den giver dig en log over netproblemer i /var/log/netcheck
sudo crontab -e
01 * * * * /path/to/script 2> /dev/null
#!/bin/bash
restart_net(){
echo `date` restarting network >> /var/log/netcheck
dhclient eth0;
./$0
}
no_internet(){
echo `date` No internet >> /var/log/netcheck;
exit;
}
# local router not responding?
if !(ping -c 4 192.168.0.1 > /dev/null); then
restart_net;
fi
if (ping -c 2 google.com > /dev/null) ;then
exit;
elif (ping -c 2 stofa.dk > /dev/null) ; then
exit;
elif (ping -c 2 aau.dk > /dev/null) ; then
exit;
else
no_internet; #no response, but router is ok.
fi