Enviado em 20/03/2013 - 14:45h
Este script abaixo, realiza o teste pra saber se o HD externo USB está montado e no diretório certo.
Porém ele só funciona em linha de comando, no crontab ele vai até a linha:
...
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Inicio de rotina..." >> $LOG
echo "==" >> $LOG
...
Ele está saindo ou parando inesperadamente deste ponto em diante. Acredito que o problema esteja no teste que estou fazendo com o comando "if". mas o que está faltando?
Valeu!!
#!/bin/bash
#redirecionar saida de erro
exec 2> /var/log/bkpHD_ERRO$DATA.log
exec >&2
# Variaveis
DATA=`date +%y%m%d%H%M`
LOG=/var/log/bkpHD$DATA.log
blkid | awk '{print}' | grep 'UUID="14982BBF522ED2D1"' > /tmp/testeHD.txt
# Inicio do script
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Inicio de rotina..." >> $LOG
echo "==" >> $LOG
# testa se o HD externo esta conectado corretamente
if cat /tmp/testeHD.txt | grep /dev/sda1 && df -h | awk '{print}' | grep '/media/hdexterno' ; then
# sincronizando
rsync -vaxE /home/xxx/publico/ /media/hdexterno/ >> $LOG
echo "==" >> $LOG
echo " Sincronismo concluido" >> $LOG
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Fim de rotina..." >> $LOG
Porém ele só funciona em linha de comando, no crontab ele vai até a linha:
...
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Inicio de rotina..." >> $LOG
echo "==" >> $LOG
...
Ele está saindo ou parando inesperadamente deste ponto em diante. Acredito que o problema esteja no teste que estou fazendo com o comando "if". mas o que está faltando?
Valeu!!
#!/bin/bash
#redirecionar saida de erro
exec 2> /var/log/bkpHD_ERRO$DATA.log
exec >&2
# Variaveis
DATA=`date +%y%m%d%H%M`
LOG=/var/log/bkpHD$DATA.log
blkid | awk '{print}' | grep 'UUID="14982BBF522ED2D1"' > /tmp/testeHD.txt
# Inicio do script
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Inicio de rotina..." >> $LOG
echo "==" >> $LOG
# testa se o HD externo esta conectado corretamente
if cat /tmp/testeHD.txt | grep /dev/sda1 && df -h | awk '{print}' | grep '/media/hdexterno' ; then
# sincronizando
rsync -vaxE /home/xxx/publico/ /media/hdexterno/ >> $LOG
echo "==" >> $LOG
echo " Sincronismo concluido" >> $LOG
echo "==" >> $LOG
echo "[`date +%H%M%S`] === Fim de rotina..." >> $LOG