veja a conexão à internet através do shell

0

Eu só preciso executar um script de shell quando uma conexão com a Internet está disponível. É possível assistir a disponibilidade de conexão de internet através de scripts de shell?

ping google.com é o comando fácil para fazê-lo funcionar. Mas como posso assistir?

    
por underscore 27.03.2015 / 07:19

3 respostas

2

Acho que você pode estar procurando apenas

ping -c1 -W1 google.com >/dev/null && command

Isso executará command apenas se o ping tiver êxito.

    
por terdon 27.03.2015 / 13:25
0

Se assistir significa observar a velocidade de transferência, tenho duas soluções.

Velocidade de interfaces (wifi, ethernet)

ifstat -S

Velocidade de transferências individuais / conexões

sudo iftop

    
por Thamme Gowda 26.09.2015 / 22:58
0

Você poderia fazer algo assim

#!/bin/bash

while [ 1 ]; do
   TEST=$(nmcli -f STATE dev status | awk '/connected/ {print 1}')
    if [ $TEST ]; then
      # place whatever you wanna do here if connection is available
    fi
sleep 0.25
done

nmcli tem o comando dev status que mostra o status das interfaces de rede. Portanto, verificamos apenas a coluna de status da saída com o sinalizador -f STATUS format. Se tivermos conexão, independentemente de ser ethernet ou wifi, definimos a variável TEST como 1, ou seja, true. Em seguida está a declaração if . . then . . .fi , que realmente faz o trabalho.

    
por Sergiy Kolodyazhnyy 26.09.2015 / 23:06