Eu tenho um script bash simples que desativa uma porta USB se não houver conexão com a internet e depois de cinco segundos ativá-la novamente. Mas, às vezes, ele falha, o script desabilita a porta, mas não está habilitado novamente. Note que eu só tenho uma porta USB. Este é o meu script:
#!/bin/bash
while true
do
sleep 10
if ping -c 2 google.com >> /dev/null 2>&1;then
echo $(date +"%r") >> /root/log.txt
echo "Conectado a SopelaBari" >> /root/log.txt
else
echo $(date +"%r") >> /root/log.txt
echo "Sin conexion" >> /root/log.txt
echo '2-1' |tee /sys/bus/usb/drivers/usb/unbind
sleep 5
echo '2-1' |tee /sys/bus/usb/drivers/usb/bind
sleep 5
fi
sleep 30
done
Estou executando o Ubuntu 14.04.05 e o script é executado como root com o crontab. Como eu não estou familiarizado com o bash: Então eu sei que o código é improvável e provavelmente falha devido a algum erro que cometi.
Obrigado, Ander.
Tags bash usb shell-script