Que software existe para reproduzir um alerta (alto-falante do PC) quando não há conectividade à Internet por 5 minutos?
Meu switch / roteador parece desconectar-se a cada poucos dias e desejo redefini-lo quando isso acontecer.
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
fonte
fonte
Respostas:
Você pode usar uma versão modificada desse script para fazer o que deseja:
Estamos "CONECTADOS" Exemplo
Com a depuração ativada para que você possa ver o que o script está fazendo.
Executando com um nome de host válido para demonstrar o estado "a conexão está ativa".
O exemplo acima inicializa algumas variáveis e determina a última vez que passamos pelo loop
$lastAccessTime
,. Agora tentamos executar ping no Google.Agora calculamos qualquer tempo de inatividade
$downTime
, se o ping falhar, caso contrário, redefinimos$downTime
para zero e recalculamos$lastAccessTime
.Agora esperamos 15 segundos.
Agora, verificamos se estamos inativos por> 5 minutos (300 segundos). Depois, repetimos o processo
while
.Enquanto estivermos acordados, nada acontecerá além de verificarmos o
ping
comando a cada 15 segundos.Exemplo "DESCONECTADO"
Agora, para simular um estado de "conexão inativa", trocaremos o nome do host que estamos executando o ping e usaremos um falso
google1234567890.com
. Repetindo uma execução do nosso script com a depuração ativada, agora vemos algum tempo de inatividade real sendo calculado.Observe acima que
$downTime
é igual a 15 segundos até agora. Se esperarmos um pouco mais, veremos o seguinte:Acumulamos 300 segundos de tempo de inatividade. Então agora, quando verificamos, imprimimos a mensagem
alert
.Esse estado continuará até que a conexão seja restaurada e
ping
tenha êxito novamente.Então, que tal um som?
Isso é fácil. Você pode usar uma variedade de ferramentas para fazer isso. Eu usaria algo parecido
sox
oumplayer
reproduzir um arquivo de áudio, como um.mp3
ou.wav
arquivo com um som apropriado que você quer ouvir a cada 15 segundos, enquanto a conexão é baixo.Simplesmente substitua a
alert
mensagem acima por esta linha para obter feedback de áudio de que a conexão está inoperante.Tempo limite de problemas com ping
Se você usar
ping
da maneira acima, provavelmente encontrará um tempo de atraso lento, onde levaping
literalmente de 10 a 20 segundos para que falhe quando a conexão estiver inoperante. Veja minha resposta a esta sessão de perguntas e respostas da U&L intitulada: Como redirecionar a saída de qualquer comando? por exemplo, usando a ferramenta de linha de comandofing
. Essa ferramenta falhará mais rapidamente do que a tradicionalping
.fonte
beep
comando, é seguro parachown /dev/tty0
que eu pudesse usá-lo semsudo
?/dev/tty0
.sox
! @Kokizzu - direito do SLM sobre deixar as permissões no/dev/tty0
dispositivo sozinho, mas você pode obter um pseudo-terminal/dev/pts/[num]
dispositivo - o mesmo tipo de dispositivo de caractere quexterm
usos para cada janela, por exemplo - com algo comoscreen
outmux
ou mesmossh
. Você pode controlar com mais segurança, pois eles são apenas dispositivos escravos para o/dev/ptmx
dispositivo mestre de qualquer maneira e não causam o mesmo tipo de problemas que, digamos, um/bin/login
processo de propriedade do usuário poderia - o que poderia acontecer no outro caso.aplay alert.wav
é uma maneira mais padrão de reproduzir som, pois faz parte do sistema ALSA e vem pré-agrupado na maioria das distribuições.Se você estiver usando Linux, poderá usar ping em um script para,
google.com
por exemplo:fonte
fing
vez deping
. Oping
cmd. pode demorar um pouco para falhar quando não for bem-sucedido. Porfing
outro lado, o comando falhará dentro de 1 segundo. Veja meu A para estas perguntas e respostas para obter mais informações: Como redirecionar a saída de qualquer comando? . Eu mostro ambos usandoping
efing
.sleep 1
é suficiente para evitar isso.