☑ Aggancia questa barra allo schermo
| ☐ Disattiva gli effetti grafici
✖
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Oggi, 12/02/2009, mi sono attivato la promozione "Naviga 3" con la quale si hanno a disposizione 50MB al giorno per 30 giorni.
Com'è intuibile, oltre il raggiungimento dei 50MB verrebbe applicata la normale tariffazione svuotando il credito della sim prima di rendersene conto.
Per ovviare a questo inconveniente, anche grazie all'aiuto degli amici di slacky.eu, ho scritto 2 script, che possono essere sfruttati per esempio con kppp, che killano pppd al raggiungimento dei 50MB:
killpppd.sh
# (C) 2009, Andrea Peluso.
expr $1 \+ 0 1> /dev/null
TEST=$?
if [ $# -ne 1 -o $TEST -ne 0 ]; then
echo -e "Uso: $0 [limite in MB]\n"
echo "Script di auto-disconnessione per abbonamenti a volume."
echo -e "(C) 2009, Andrea Peluso.\n"
exit 1
fi
DATE=$(date +%Y%m%d)
echo $DATE > /tmp/date.tmp
BYTEBU=0
LIM=$(expr $1 \* 1000000)
if [ -r /tmp/$DATE ]; then
BYTEBU=`expr $(cat /tmp/$DATE)`
if [ "$BYTEBU" -ge "$LIM" ]; then
kdialog --warningcontinuecancel "Oggi sono gia' stati consumati $(expr $BYTEBU / 1000000) MB ($(expr $BYTEBU / 1048576) MB).\nVuoi continuare comunque?" --title "KillPPP"
if [ $? = 0 ]; then
exit 0
else sudo killall pppd
fi
fi
kdialog --msgbox "Oggi sono gia' stati consumati $(expr $BYTEBU / 1000000) MB ($(expr $BYTEBU / 1048576) MB).\nTraffico residuo: `expr \( $LIM \- $BYTEBU \) / 1000000` MB (`expr \( $LIM \- $BYTEBU \) / 1048576` MB)." --title "KillPPP" &
fi
while [ true ]
do
RX=`cat /sys/class/net/ppp0/statistics/rx_bytes`
TX=`cat /sys/class/net/ppp0/statistics/tx_bytes`
BYTETOT=$(expr $RX \+ $TX \+ $BYTEBU)
if [ "$BYTETOT" -ge "$LIM" ]; then
echo + >> /tmp/$DATE
cat /sys/class/net/ppp0/statistics/rx_bytes >> /tmp/$DATE
echo + >> /tmp/$DATE
cat /sys/class/net/ppp0/statistics/tx_bytes >> /tmp/$DATE
kdialog --yesno "Sono stati consumati $(expr $BYTETOT / 1000000) MB ($(expr $BYTETOT / 1048576) MB).\nVuoi terminare la connessione?" --title "KillPPP"
if [ $? = 0 ]; then
sudo killall pppd
fi
exit 0
fi
sleep 5
done
Il primo va eseguito subito dopo l'avvenuta connessione e il secondo, subito prima della disconnessione; entrambi col limite del proprio abbonamento espresso in megabyte come opzione.
Per esempio:
/percorso/completo/killpppd.sh 50
e
/percorso/completo/savebyte.sh 50
...nel caso si abbiano 50 MB a disposizione.
Ho voluto pubblicarli qui, perché sono sicuro che serviranno a qualcuno.
Scritto da: Andrea Peluso (sya54M), . Aggiornato: .
Condividi sui tuoi social preferiti!
Telegram Facebook Linkedin Twitter Pinterest