Diskuse:Watchdog na routovaci tabulku: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
 
 
(Není zobrazeno 5 mezilehlých verzí od 4 dalších uživatelů.)
Řádek 1: Řádek 1:
 +
== 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).
 
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.
 
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 :)

Aktuální verze z 24. 2. 2006, 12:52

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 :)