Eu tenho o Ubuntu 18.04 e algumas vezes (algumas conexões wifi) minha rede simplesmente pára de funcionar. O que eu tenho feito até agora é que quando isso acontece eu apenas reinicio o gerenciador de rede e ele começa a funcionar bem novamente. Desde que começou a acontecer com frequência, decidi colocá-lo como um cron job:
Script:
if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
echo "$(date '+%d/%m/%Y %H:%M:%S') ::network is up"
else
echo "$(date '+%d/%m/%Y %H:%M:%S') ::restarting network-manager"
service network-manager restart
fi
Entrada do Crontab:
* * * * * sh /usr/local/bin/check_network.sh >> /var/log/myjob.log
Eu fiz esta entrada dentro do crontab do sudo, pois reiniciar o network-manager requer privilégios de root.
Isso funciona bem se eu iniciar o script usando:
sh /usr/local/bin/check_network.sh
myjob.log
19/09/2018 10:41:01 ::network is up
19/09/2018 10:42:01 ::network is up
19/09/2018 10:43:01 ::network is up
19/09/2018 10:44:01 ::restarting network-manager
19/09/2018 10:45:01 ::restarting network-manager
O que poderia estar acontecendo? Apenas falha em reiniciar e tenho que fazer isso manualmente novamente.
Tags networking bash cron linux shell-script