Script Backup em DVDRW

Publicado por Pedro Augusto Malanga 20/12/2007

[ Hits: 5.498 ]

Download backupdvd.sh




Ola pessoal,

Aí vai mais um script que fica aguardando que seja inserido um DVDRW que logo em seguida é formatado, gerando um arquivo TAR e um backup de Firebird e manda tudo para o mesmo.

Lembrando que o DVD é formatado antes do backup, assim se alguém for utilizar em cron seria muito interessante ter alguns DVDRW para cada dia da semana, como fiz, montei 2 conjuntos de DVDRW com 14 DVDRWs assim tenho uma semana de backup.

  



Esconder código-fonte

#!/bin/bash

binFirebird="/opt/firebird/bin"
nomebanco="sistema.fdb"
errotmp="/backup/tmpTXT"
logback="/backup/logbackup.txt"
dirBackup="/backup/firebirdBK"
listaBack="/backup/config/lista.txt"
dirTar="/backup/TAR"
fireMov="/backup/firebirdMV/"
DVD="/dev/dvd"

data=`date +%H_%M_%d_%m__%Y`

echo " ======= Inicio do backup (Hora_Min_Dia_Mes_Ano): " $data >> $logback
echo -e "\a"
sleep 1
echo -e "\a"
y=0;
p=1;
while [ $y != $p ]
do

data2=`date +%H_%M_%d_%m__%Y`
echo -e "\a"
# Tenta formatar DVD
dvd+rw-format -force -blank /dev/dvd 2> $errotmp

 cat $errotmp | grep "blanking"

   TESTA=$?

 if [ $TESTA = "0" ]
   then
      p=0;
        echo " OK   == Formatacao feita com sucesso "  >> $logback
        echo " ======= Backup do banco " >> $logback
    echo   $binFirebird/gbak -b -v $nomebanco $dirBackup/Bk_$nomebanco_$data.fbk -user sysdba -password masterkey >> $logback

      tar -cvf $dirTar/GMBK_$data.tar -T $listaBack
      echo " ======= Iniciando copia para DVD - " >> $logback
      growisofs -dvd-compat -Z $DVD -J -R $dirTar/GMBK_$data.tar
   
   RETVAL=$?
     if [ $RETVAL = "0" ]
        then
                echo " OK   == GRAVACAO efetuada com sucesso " >> $logback
                echo " ======= Apagando arquivo TAR " >> $logback
      rm $dirTar/GMBK_$data.tar -f
      if [ $? = "0" ]
         then
            echo " OK   == Arquivo TAR APAGADO " >> $logback
                   else
            echo " ERRO == Problema ao apagar TAR " >> $logback
      fi
                echo " ======= Apagando arquivo FireBK " >> $logback
      rm $dirBackup/Bk_$nomebanco_$data.fbk -f
      if [ $? = "0" ]
         then
            echo " OK   == Arquivo FireBK APAGADO " >> $logback
         else
            echo " ERRO == Problema ao apagar FireBK " >> $logbak
                fi
                
             else
                echo " ERRO == ATENCAO problemas na gravacao " $data2  >> $logback
          fi      
      sleep 8
   else
      p=1;
      echo " ERRO == Problema na formatacao " $data2 >> $logback
      sleep 120
  fi
done

echo " ======= FIM do Backup " $data2 >> $logback
eject
rm $errotmp -f
exit

Scripts recomendados

MRTG Start | Stop | Status | Restart

Contador de tempo de execução

Atualizando KDE 3x para KDE4.1 no Slackware 12

tas - Total de arquivos.

Ping para servidores tendo um arquivo TXT com a lista dos IPs/Hostnames


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts