Mostrando postagens com marcador scripts. Mostrar todas as postagens
Mostrando postagens com marcador scripts. Mostrar todas as postagens

domingo, 27 de setembro de 2020

Como monitorar a sua conexão de internet

Já faz algum tempo que penso em uma maneira de monitorar constantemente a conexão de internet aqui de casa. A intenção seria saber se a rede está suficientemente estável e principalmente ser alertado quando ela fica indisponível. Em tempos de home office, admito que essa necessidade até se tornou mais evidente, pois não foram uma nem duas vezes que fui bruscamente desconectado durante uma reunião virtual, me permitindo voltar apenas quando habilitei o roteamento do 4G do celular e reconectei através dele.

O problema que relato poderia muito bem ser resolvido apenas executando o bom e velho "ping". No Windows, disparando o comando contra o DNS da Google pra deixar em constante execução, seria algo assim: "ping 8.8.8.8 -t".

Comando "ping"

No exemplo acima, enquanto o tempo de resposta for baixo e obtiver uma variação pequena, pode-se dizer que a qualidade da conexão está boa. Quando aparecer que o tempo limite do pedido foi esgotado, é sinal de que há problemas com a conectividade. No caso da rede de destino inacessível, como apareceu na imagem, foi porque eu desconectei a wi-fi do notebook pra provocar o erro e mostrar o "esgotado o tempo limite do pedido", que é a mensagem retornada quando o destino não é alcançado, no caso, o Google. E se não tem Google, não tem internet. 😂

Entretanto, apesar de haver uma solução bastante simples, fui em busca de algo mais elaborado. Encontrei algumas variações de scripts, parte delas utilizando Shell Script (para Linux) e outras Powershell (também do Windows).

Nessa busca, achei um cara sugerindo duas opções de scripts em Powershell para monitorar a conectividade com a internet. Uma mais simples e outra um pouco mais complexa.

checkInternetSimple.ps1 | Essa opção é a mais básica e indica apenas se há ou não conexão com a internet.

checkInternetContinuous.ps1 | Essa alternativa é a mais avançada e além de indicar se há ou não conectividade com a internet, mostra o tempo desde que a conexão foi estabelecida (a partir do momento que o script começou a rodar) e também o tempo desde a desconexão. Além disso, é apresentado o uptime, calculando o percentual atingido com base no período conectado e desconectado.

Como é possível perceber, o comando "ping" é a essência de tudo. Pois mostrei como é possível utilizá-lo exclusivamente, e esses scripts, por "baixo dos panos", de certa forma, é o que estão fazendo ("pingando" o site), mas claro que com muito mais elegância e requinte, utilizando parte do poderio que o Powershell oferece.

ExecutionPolicy no Powershell

Se você tiver interesse e acho que terá, caso contrário não teria chegado até aqui, o código fonte dos scripts que apresentei estão disponibilizados no GitHub do autor e podem ser encontrados clicando aqui. E caso deseje baixar os arquivos diretamente no formato do Powershell, seguem em checkInternetContinuous.ps1 e checkInternetSimple.ps1.

Dica: Caso você nunca tenha executado scripts de terceiros no seu Powershell, lembre de modificar a política de execução. Para consultá-la, você deve rodar o comando "Get-ExecutionPolicy". Se já não estiver, deve ser alterada para "Unrestricted" e essa modificação é feita pelo comando "Set-ExecutionPolicy Unrestricted".

P.S.: Como recentemente me mudei, estou com um novo provedor de internet e as falhas relatadas ainda no primeiro parágrafo, por enquanto não ocorreram.

domingo, 28 de junho de 2020

Esse script vai proteger o seu servidor


Isso me lembrou de uma reflexão que o professor de um curso que eu fiz esses dias levantou: um documento impresso e guardado em um cofre está muito mais seguro que se estiver salvo em algum diretório do computador.

sábado, 12 de maio de 2018

Copiei do Stack Overflow

Não trabalho diretamente com desenvolvimento, mas sendo de TI, sei que é bem comum na área a galera pegar trechos de códigos prontos publicados pela internet para colocar nas suas soluções. Eu poderia bancar o chato e dizer que o negócio vira um Frankenstein e não vira??? mas aí olho para o lado e digo: "quem nunca?". Seguido eu pego scripts prontos, pois alguém já desenvolveu, inclusive publicou na página oficial do fabricante (ex. Microsoft Script Center) e serve exatamente para resolver meu problema no trabalho onde sou cobrado por automatizar soluções.


Pegar códigos prontos não tem problema algum. No Stack Overflow rola isso direto mesmo. O problema está quando você copia o código das perguntas e não das respostas.

Aí a coisa complica.