Creamos el script Wifi-reinicia.sh en la siguiente ubicación /usr/local/bin:
sudo nano /usr/local/bin/Wifi-reinicia.shCon el siguiente contenido que explicamos a continuación:
#!/bin/bashNecesitamos saber que la Raspberry Pi está conectada a la red, para eso hacemos ping a un servidor, 192.168.1.1, la dirección IP de nuestro router en este caso, si no obtiene respuesta entonces reiniciará el interfaz inalámbrico y después de 2 minutos nos enviará un correo avisándonos de que se ha reconectado.
SERVER=192.168.1.1
ping -c2 ${SERVER} > /dev/null
if [ $? != 0 ]
then
ifdown --force wlan0
ifup wlan0
sleep 120
sudo /home/pi/mailIPwifi
fi
Lo guardamos y le damos permisos de ejecución:
sudo chmod +x /usr/local/bin/Wifi-reinicia.shComo ya tenemos el servidor de correo instalado vamos a crear el mensaje que nos llegará al correo:
sudo nano mailIPwifiY pegamos lo siguiente, donde YOURMAIL, es la dirección donde queremos recibir el correo de aviso::
#!/bin/shLo guardamos y le damos permisos de ejecución:
mailreciever=YOURMAIL
today=$(date)
my_ip=`wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'`
my_pi="El WiFi de la Raspberry Pi se ha reinicado!! "
message="El WiFi de la Raspberry Pi se ha reiniciado el $today. Dirección IP = $my_ip"
echo $message > message.txt
mutt -s "${my_pi}" ${mailreciever} < message.txt
sudo chmod +x mailIPwifiPara que el script se ejecute automáticamente vamos a añadir una tarea a cron:
sudo nano /etc/crontabY antes del último #, añadimos la siguiente linea. Así el script de reconexión se ejecutará cada 5 minutos:
*/5 * * * * root /usr/local/bin/Wifi-reinicia.shPara probarlo bastará con tirar abajo el interfaz inalámbrico, en un rato se reconectará automáticamente a nuestra red WiFi y nos enviará el correo de aviso.
ifdown --force wlan0Instrucciones tomadas de este post.
Comparte este post con tus amigos!
0 comentarios:
Comparte tu opinión con los demás, deja un comentario. ↓
Los comentarios no son moderados, sin embargo si contienen insultos o son ofensivos, pueden ser borrados.