Parece que meu servidor Raspberry Pi perde a conexão wifi após um tempo aleatório e, de alguma forma, não é capaz de se recuperar automaticamente.
Normalmente, uma reinicialização feita manualmente resolve o problema.
Gostaria de fazê-lo reiniciar automaticamente se não houver wifi após cerca de 30 minutos. Como eu posso fazer isso?
wifi
raspberry-pi
raspbian
reboot
braçadeira
fonte
fonte
Respostas:
Esta é essencialmente a resposta de Warwick, apenas com instruções passo a passo.
Crie o seguinte script de shell na sua pasta pessoal:
check_inet.sh
Altere as permissões para que seja executável
Edite
/etc/crontab
usandosudo
e adicione a seguinte linha (substituayourname
pelo seu nome de usuário real):fonte
Uma maneira seria colocar uma entrada no cron do root que executa um script a cada 30 minutos. O script testaria a conexão WIFI, talvez usando
ping
, e gravaria o resultado em um arquivo em / tmp - 1 para a conexão existir, 0 se não existir. As iterações subsequentes do script verificariam esse arquivo e, se fosse 0, e a conexão WIFI ainda estivesse ruim, execute uminit 6
comando.fonte
Acho que a solução hololeap está funcionando.
Minha solução verifica a cada N minutos (dependendo de como você configura seu crontab) em busca de uma conexão de rede em funcionamento. Se a verificação falhar, acompanho a falha. Quando a contagem de falhas é> 5, tento reiniciar o wifi (você também pode reiniciar o Raspberry se a reinicialização do wifi falhar, verifique os comentários).
Aqui está um repositório do GitHub sempre contendo a versão mais recente do script: https://github.com/ltpitt/bash-network-repair-automation
Aqui está, de acordo com a política geral de stackexchange (todas as respostas não devem conter apenas links), também o arquivo network_check.sh, copie e cole-o em qualquer pasta que você desejar, as instruções de instalação estão nos comentários do script.
editar 26/01/2018: removi os arquivos temporários para permitir a execução do script na memória e evitar a gravação no cartão SD do Raspberry.
fonte
ifdown
eifup
, talvez, consertando a rede, e talvez não. ………………………………………………………………………… Se eu entendi algo errado, por favor, explique-me. ... (continua)I modiffied roteiro de Pitto para o meu MTAC Multitech loraWAN gateway (sem fping). Eu também adicionei um arquivo de log.
fonte
ifupdown
se não os usa? (2) Por que você mudougateway_ip
de uma variável para uma constante codificada?network_check_tries_file
arquivo (quandoping
falhar), não incrementa anetwork_check_tries
variável. ... (continua)network_check_tries
igual a 0, 1, 2, 3, 4, 5 e 6 - e é apenas na sétima invocação (comnetwork_check_tries
igual a 6) que oif [ "$network_check_tries" -gt 5 ]
teste é bem-sucedido. Indiscutivelmente, esse é o comportamento correto. Tanto quanto o script sabe, a rede pode ter caído às 00:04:59, portanto, são necessárias sete falhas consecutivas para garantir que você tenha coberto um período de 30 minutos. ... (continua)