Portál AbcLinuxu, 3. února 2026 13:44
Predem moc dekuji za nejake reseni.
#!/bin/bash
PIDFILE=/var/run/ppp0.pid
TDBFILE=/var/run/pppd.tdb
LOCKDEVFILE=/var/lock/LCK..modem
export PATH=$PATH:/usr/local/sbin:/usr/local/bin
if [ -f $PIDFILE ]; then
ps `cat $PIDFILE` || pppd call eurotel >/dev/null 2>&1 </dev/null &
else
if (! netstat -i |grep ppp); then
killall pppd
sleep 2
killall -9 pppd
rm -f $TDBFILE $LOCKDEVFILE
fi
pppd call eurotel >/dev/null 2>&1 </dev/null &
fi
Tuto kontrolu poustim kazde dve minuty pomoci cronu. V /etc/crontab mam tudiz tento radek:
-*/2 * * * * root /usr/local/sbin/eurotelforever >/dev/null 2>&1 </dev/nullProc zrovna dve minuty? Protoze kdyz nedam modemu dost casu, aby zapnul nabijeni (lze jen bez ustanoveneho PPP spojeni), tak si postupne vybije akumulator a vypne se. Samotny pppd mam nakonfigurovany pomoci souboru /etc/ppp/peers/eurotel:
hide-password noauth connect "/usr/sbin/chat -f /etc/ppp/chat-eurotel" /dev/modem 921600 crtscts defaultroute usepeerdns noipdefault user "123456789@etcz" mtu 14000 idle 0 persist #debugVsimni si volby persist. Ta zpusobi, ze kdyz se PPP spojeni rozpadne, pppd se jej pokusi znovu navazat (neni treba kvuli tomu restartovan pppd). Pokud se ale nepodari spojeni navazat deset krat za sebou (voba maxfail neni uvedena, vychozi hodnota je 10), pppd skonci. Pak prijde ke slovu cron. Tento postup samozrejmne neni dokonaly. Dneska bych to uz napsal asi jinak (napr. pppd by se nedemonizoval, eurotelforever by jeho selhani dokazal detekovat okamzite [ne az dve minuty po te]). Taky tu neni vynucene odpojeni kvuli zahajeni nabijeni. Pocitam s tim, ze Eurotel te stejne po urcite dobe sam odpoji.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.