Portál AbcLinuxu, 14. května 2025 00:02
#!/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 & fiTuto 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.