Parece que mi servidor Raspberry Pi pierde la conexión wifi después de un tiempo aleatorio y de alguna manera no puede recuperarse automáticamente.
Por lo general, un reinicio hecho a mano resuelve el problema.
Me gustaría hacer que se reinicie automáticamente si no hay wifi después de unos 30 minutos. ¿Cómo puedo hacer eso?
wifi
raspberry-pi
raspbian
reboot
abrazadera
fuente
fuente
Respuestas:
Esta es esencialmente la respuesta de Warwick, solo con instrucciones paso a paso.
Cree el siguiente script de shell en su carpeta de inicio:
check_inet.sh
Cambia los permisos para que sea ejecutable
Edite
/etc/crontab
usandosudo
y agregue la siguiente línea (reemplaceyourname
con su nombre de usuario real):fuente
Una forma sería poner una entrada en el cron de root que ejecute un script cada 30 minutos. La secuencia de comandos probaría la conexión WIFI, tal vez usando
ping
, y escribiría el resultado en un archivo en / tmp - 1 si la conexión existe, 0 si no existe. Las iteraciones posteriores del script verificarían ese archivo, y si era 0, y la conexión WIFI seguía siendo mala, ejecute uninit 6
comando.fuente
Creo que la solución hololeap está funcionando.
Mi solución verifica cada N minutos (dependiendo de cómo configure su crontab) para una conexión de red que funcione. Si la verificación falla, hago un seguimiento de la falla. Cuando el recuento de fallas es> 5, intento reiniciar wifi (también puede reiniciar Raspberry si falla el reinicio de wifi, revise los comentarios).
Aquí hay un repositorio de GitHub que siempre contiene la última versión del script: https://github.com/ltpitt/bash-network-repair-automation
Aquí, de acuerdo con la política general de stackexchange (todas las respuestas no solo deben contener enlaces), también el archivo network_check.sh, cópielo y péguelo en la carpeta que desee, las instrucciones de instalación están en los comentarios del script.
editar 26/01/2018: he eliminado los archivos temporales para permitir que el script se ejecute en la memoria y evitar escribir en la tarjeta SD de Raspberry.
fuente
ifdown
yifup
, tal vez arreglando la red, y tal vez no. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... si he entendido mal algo, explícamelo. ... (Continúa)Modifiqué el script de Pitto para mi puerta de enlace multitech mtac loraWAN (sin fping). También agregué un archivo de registro.
fuente
ifupdown
si no los usas? (2) ¿Por qué cambiastegateway_ip
de una variable a una constante codificada?network_check_tries_file
archivo (cuandoping
falla), no incrementa lanetwork_check_tries
variable. ... (Continúa)network_check_tries
igual a 0, 1, 2, 3, 4, 5 y 6, y es solo en la séptima invocación (connetwork_check_tries
igual a 6) que laif [ "$network_check_tries" -gt 5 ]
prueba tiene éxito. Podría decirse que este es el comportamiento correcto. Por lo que sabe el script, la red puede haber caído a las 00:04:59, por lo que se necesitan siete fallas consecutivas para asegurarse de que haya cubierto un período de 30 minutos. ... (Continúa)