Da sich mein Pirelli PRGAV4202N von der Telekom Austria gelegentlich weigert, nach einem Disconnect die Verbindung neu aufzubauen und auch ein manueller Reconnect nicht mehr möglich ist habe ich mir ein kleines Bash Script geschrieben, dass den Router automatisch per Telnet neustartet.
Das Script wird bei mir per Cronjob alle 5 Minuten ausgeführt und überprüft den Status der Einwählverbindung (ppp0) – wenn die Verbindung beim 2. Aufruf noch offline ist wird das Gerät neu gestartet.
Wichtig: Der angegebene User benötigt Administrator Rechte (s. hier oder bei neuerer Firmware hier)!
#!/bin/bash
SLEEP=1
PIRELLI_STATUS=/tmp/pirelli
PIRELLI_LOG=/root/pirelli.log
PIRELLI_IP=192.168.0.3
PIRELLI_USER=admin
PIRELLI_PASS=
if [ ! -f $PIRELLI_STATUS ]; then
echo "1" > $PIRELLI_STATUS
fi
pirelli_telnet() {
(
sleep $(( 2 * $SLEEP ))
echo $PIRELLI_USER
sleep $SLEEP
echo $PIRELLI_PASS
sleep $SLEEP
echo "$1"
sleep $SLEEP
echo "quit"
) | telnet $PIRELLI_IP 2> /dev/null
}
ONLINE=`pirelli_telnet "net ifconfig ppp0" | grep "state=running" | wc -l`
ONLINE_BEFORE=`cat $PIRELLI_STATUS`
if [ $ONLINE -eq 0 ] && [ $ONLINE_BEFORE -eq 0 ]; then
NOW=`date +"%Y/%m/%d %H:%M:%S"`
echo "$NOW - Rebooting..." >> $PIRELLI_LOG
pirelli_telnet "system reboot"
fi
echo "$ONLINE" > $PIRELLI_STATUS









Interessant wäre ja das Script direkt am Pirelli Modem lauffähig zu bekommen. Habs derzeit auch auf einem internen Server. Gibts hier eine Möglichkeit das Script auf dem Pirelli zu installieren? Wo finde ich die cronjobs?
Danke,
Daran habe ich anfangs auch gedacht, ich konnte aber im OpenRG Manual nichts über Cron Jobs finden, somit hab ichs mal so belassen.
Link zu den Handbüchern: http://tpirelli.blogspot.com/2010/08/openrg-dokumentationhandbucher.html