lcavalheiro
(usa Slackware)
Enviado em 04/07/2013 - 13:24h
olacomovaivc escreveu:
Então meu caro, eu quero verificar o tempo todo se estou conectado na internet.
Isto pq este script vai ficar em um raspberry pi, com conexao 3g..
a 3g se fica ociosa ela cai, e nós estmaos trabalhando com banco de dados,precisamos que esteja
se possivel o máximo conectado, trocando informacoes.
sou iniciante na area de SC, então pela lógica básica faço um ping antes e dpz faço um while infinito testando o ping..
logico que mais pra frente vou por um sleep ou timer para nao ficar consumindo tanto da máquina..
vc me sugere outra solucao? estou de portas abertas para novas sugestoes :)
Pra fazer while infinito é melhor fazer assim:
while [ 1 ] ; do ping -c www.google.com.br ; done
Que nem a gente faz quando usa menus com ncurses e dialog. Em algumas distros o while [ 1 ] tem que ser substituído pelo while [ 0 ] pra dar certo, mas a idéia é a mesma. Dessa forma gera menos processamento, porque o while [ $? ] pára pra ler o último comando executado (uma camada a mais de processamento), enquanto o while [ 1 ] não. Sacou?
Enfia um sleep depois do ping, assim
while [ 1 ]; do ping -c www.google.com.br ; sleep 5s ; done
Pra ele dar um sleep de 5 segundos. Pra um sleep de 1 minuto, troque o 5s por 1m, e assim vai.