Não é possível reiniciar o gerenciador de rede a partir de um script quando executado como uma tarefa cron

0

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.

    
por Sudip Bhandari 19.09.2018 / 07:25

0 respostas