¿Qué software hay que emitirá una alerta (altavoz de PC) cuando no haya conectividad a Internet durante 5 minutos?
Parece que mi conmutador / enrutador se desconecta cada pocos días y quiero restablecerlo cuando sucede.
PC -- TP-Link switch/router -- FO
192.168.x.1 -- 192.168.x.2 / x.y.z.a -- a.b.c.d
networking
audio
monitoring
Kokizzu
fuente
fuente
Respuestas:
Puede usar una versión modificada de este script para hacer lo que quiera:
Estamos "CONECTADOS" Ejemplo
Con la depuración activada para que pueda ver lo que está haciendo el script.
Ejecutar con un nombre de host válido para demostrar el estado "la conexión está activa".
Lo anterior inicializa un par de variables y determina la última vez que fuimos a través del lazo,
$lastAccessTime
. Ahora intentamos hacer ping a Google.Ahora calculamos cualquier tiempo de inactividad
$downTime
, si el ping falla, de lo contrario, restablecemos$downTime
a cero y volvemos a calcular$lastAccessTime
.Ahora esperamos 15 segundos.
Ahora verificamos si hemos estado inactivos durante> 5 minutos (300 segundos). Luego repetimos pasando por el
while
bucle.Mientras estemos despiertos, no pasará nada más que verificar con el
ping
comando cada 15 segundos.Estamos "DESCONECTADOS" Ejemplo
Ahora para simular una "conexión está inactiva" estado, vamos a intercambiar el nombre de host que estamos ping y el uso de una falsificación uno,
google1234567890.com
. Repitiendo una ejecución de nuestro script con la depuración habilitada, ahora vemos que se calcula un tiempo de inactividad real.Observe arriba que
$downTime
es igual a 15 segundos hasta ahora. Si esperamos un poco más, veremos esto:Hemos acumulado 300 segundos de tiempo de inactividad. Así que ahora cuando comprobamos, imprimimos el mensaje,
alert
.Este estado continuará hasta que se restablezca la conexión y
ping
vuelva a tener éxito.¿Y qué hay de un sonido?
Eso es fácil. Puede usar una variedad de herramientas para hacer esto. Usaría algo como
sox
omplayer
para reproducir un archivo de audio como un archivo.mp3
o.wav
con un sonido apropiado que desea escuchar cada 15 segundos, mientras la conexión está inactiva.Simplemente reemplace el
alert
mensaje anterior con esta línea para obtener comentarios de audio de que la conexión está desconectada.Tiempo de espera de problemas con ping
Si lo usa
ping
de la manera anterior, es probable que encuentre un tiempo de retraso lento en el que se tardaping
literalmente entre 10 y 20 segundos en fallar cuando la conexión no funciona. Vea mi respuesta a esta pregunta y respuesta de U&L titulada: ¿Cómo redirigir la salida de cualquier comando? para un ejemplo usando la herramienta de línea de comando en sufing
lugar. Esta herramienta fallará más rápidamente que la tradicionalping
.fuente
beep
comando, ¿es seguro parachown /dev/tty0
poder usarlo sin élsudo
?/dev/tty0
.sox
! @Kokizzu - El derecho del SLM en dejar los permisos en el/dev/tty0
dispositivo independiente, pero se puede obtener una pseudo-terminal de/dev/pts/[num]
dispositivo - el mismo tipo de dispositivo de caracteres quexterm
usos para cada ventana, por ejemplo - con algo parecidoscreen
otmux
inclusossh
. Puede controlarlos de manera más segura, ya que de/dev/ptmx
todos modos son solo dispositivos esclavos del dispositivo maestro y no causarán el mismo tipo de problemas que, por ejemplo,/bin/login
podría causar un proceso propiedad del usuario , que es lo que podría suceder en el otro caso.aplay alert.wav
es una forma más estándar de reproducir sonido, ya que es parte del sistema ALSA y viene incluido en la mayoría de las distribuciones.si está utilizando Linux, puede usar ping dentro de un script para,
google.com
por ejemplo:fuente
fing
lugar deping
. Elping
cmd. puede fallar un poco cuando no tiene éxito. Elfing
comando por otro lado fallará en 1 segundo. Vea mi A a este Q&A para más información: ¿Cómo redirigir la salida de cualquier comando? . Muestro ambos usandoping
yfing
.sleep 1
es suficiente para prevenir esto.