Diskuse:Watchdog na routovaci tabulku
cron
Vojto, stalo by za to, trosku popsat co delat, pokud cron nespusti ten skript. U sebe mam trebas problem, ze mam vsechno presne podle clanku ale cron mi ten skript nepusti. (ale rucne funguje). diky.
Pokud ti nefunguje cron, tak jednak se ujisti, ze do cronu nepises uvozovky, ktery jsou v komentari ve skriptu a zaroven, ze skript ma prava pro spusteni (chmod +x routedog.sh) Lada
optimalizace
Vojto, jsi autor, takze ti nebudu do zdrojaku hrabat, ale tady mam trochu optimalnejsi kod:
misto
POLOZEK="`route -n | grep ^[0-9] | wc -l | sed s/[^0-9]//`"
dat
POLOZEK=$(ip route | grep -c ^[0-9])
zaroven se mi v ausu podminka
if ! ps ax | grep ospfd | grep -v grep &>/dev/null then ... fi
soustela uplne pokazde, nehlede na tom, jestli proces bezi, nebo ne. to jsem vyresil takhle
ps ax | grep -v grep | grep -q ospfd || { ... }
Lada
Tu podminku bych vyresil takto:
if ! ps ax | grep [o]spfd &> /dev/null; then ... fi
Tim, ze jeden znak dam do hranatych zavorek se hledany retez nezmeni, ale samotny grep nebude vyhovovat ;-). Jezz
Harry ted mel na svym debianu stejnej problem... spoustelo se to pokazde, tak jsem to definitivne vyresil takhle:
ps ax | grep -q [o]spfd || { ... }
Lada
LOL, tady je to jak nějaká diskuze (update: ona je to fakt diskuze :)) To už bych to teda udělal rovnou jako:
ps axc | grep -q ospfd || { ... }
(významné je to "c", ale ps v busyboxu to neumí...), nebo IMHO úplně nejlíp:
killall -0 ospfd >/dev/null 2>&1 || { ... }
martink :)