O script bash simples às vezes falha

1

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.

    
por Andermutu 11.02.2018 / 17:31

0 respostas