Fórum Root.cz
Hlavní témata => Software => Téma založeno: Lachot 01. 12. 2014, 07:46:41
-
Ahojte,
prosím Vás o radu, jsem začátečník a snažím se z Rasberry pi udělat kameru. Jelikož potřebuji řešit internet přes 3G modem do USB, tak jsem to nějak rozchodil pomocí sakis3G, ale musím udělat vše pro to, aby se to připojilo vždy, když to spadne/znovu zapne.
Protože řeším i PPPT, tak jsem našel nějaký skript, který mi přijde, že skript pinguje na určitou IP a když náhodou bude 100 packet loss, tak udělá akci. Celý skript se pak pouští z cronu co minuta. Jelikož to potřebuji i na ten sakis3g, tak mi stačí aby to udělalo to, co tam to má dělat a když bude těch 100 packet loss, tak aby to vepsalo do konzole /opt/sakis3g/sakis3g --sudo "connect" Ale když jsem ten skript spustil, tak to napíše No such file or directory: /opt/sakis3g/sakis3g Přitom když dám do samotné konzole zmiňovaný příkaz, tak se to připojí. Zde zmiňovaný skript
#!/bin/bash
HOST=8.8.8.8
DATE=`date`
PINGRES=`ping -c 2 $HOST`
PLOSS=`echo $PINGRES : | grep -oP '\d+(?=% packet loss)'`
echo "$DATE : Loss Result : $PLOSS"
if [ "100" -eq "$PLOSS" ];
then
echo "$DATE : Starting : $HOST"
/opt/sakis3g/sakis3g --sudo "connect"
echo "$DATE : Now running : $HOST"
else
echo "$DATE : Already running : $HOST"
fi
Dle mě tam dělá neplechu to "connect". Ale nevím, neznám to. Proto všem děkuji za každou reakci. L.
-
Zřejmě to bude nějaká ptákovinka - zkontroluj si ten skript ještě jednou, zda v něm nejsou nějaké netisknutelné znaky či tak.
Doporučuji pro diagnostiku spouštět bash ve skriptu s parametrem -x (#! /bin/bash -x). Pěkně uvidíš, co se děje. Pro provoz můžeš -x zase smazat.
Dále doporučuji místo silně nepřehledných zpětných apostrofů používat zápis $(prikaz)
-
Možná tomu skriptu jen chybí právo execute.
-
viz dustin
+ nekdy se cron pousti s divnejma cestama, radsi tam davam komplet cestu k prikazum :
which grep
...
-
Mimochodem, k cemu je v /opt/sakis3g/sakis3g --sudo "connect" dobry ten parametr --sudo? Asi to poustite z crontabu, ne uzivatelskeho crontabu, takze to bezi pod rootem a sudo pak ponekud ztraci smysl.
-
Díky moc všem za reakci (a změnu názvu tématu).
ad Dustin - s tím "x" to vyzkouším
ad Kit, Jenda - vážně něvím vo co gou. Byl bych ti moc vděčný, kdyby jsi to upravil přímo v tom skriptu.
ad JardaP - dal jsem to do toho crontabu pomocí crontab -e. Dám to bez suda.
L.