sábado, 14 de maio de 2011

Script Realiza Backup em Unidade de Fita DAT

#!/bin/bash
#
# Script para realizar backup e restaurar
# utilizando Dialog
# Versao 0.2
# Daniel Lara Souza
DIA=$( date +%d )
MES=$( date +%b )
ANO=$( date +%Y )
FILE="${DIA}${MES}${ANO}"

 while : ; do
 reposta=$(
    dialog --stdout               \
           --title     ' BACKUP ' \
           --menu    'Escolha um opcao: ' \
           0 0 0               \
           1 'Status Fita Dat'   \
           2 'Efetua Backup na Fita'  \
           3 'Resturacao total da Fita ' \
           4 'Ejetar Fita Dat'       \
           5 'Verifica o Tamanho da Pasta de Restauracao'  \
           0 'Sair'        \
                   )       
   [ $? -ne 0 ] && break

   case "$reposta" in
         
           1) dialog --yesno 'Deseja Continuar ? [s/n]' 0 0
           if [ $? = 0 ]; then
           mt -f /dev/st0 status > /root/fita.txt
           STATUS=$( grep -qs 'ONLINE' /root/fita.txt && echo 'ONLINE' )
           if [ "$STATUS" = ONLINE ]
           then
           echo  ONLINE > /root/statusfita.txt
           else
           echo OFFLINE > /root/statusfita.txt
           fi
           dialog --tailbox /root/statusfita.txt 8 75
           else
            dialog --msgbox 'Processo Cancelado Pelo Usuario !' 5 45
           fi
           ;;
           2) dialog --msgbox 'Efetuando o Backup' 5 45
           sleep 2
           tar -cvf /dev/st0 /dados /etc /var
           ;;
           3) dialog --yesno 'Deseja Continuar ? [s/n]' 0 0
           if [ $? = 0 ]; then
           dialog --msgbox 'Limpando pasta do Backup no Diretorio /Restore ' 5 45
           sleep 2
           # Cria o diretorio  /Restore
           rm -rf /Restore/*
           dialog --msgbox 'Criando Pasta com a Data de HOJE no Diretorio /Restore' 5 45
           mkdir /Restore/$FILE
           dialog --msgbox 'Extraindo o Backup ' 5 45
           sleep 2
           tar -xvf /dev/st0 -C /Restore/$FILE/        
           else
           dialog --msgbox 'Processo Cancelado Pelo Usuario !' 5 45
           fi
           ;;
           4) dialog --yesno 'Deseja Ejetar a Fita DAT ? [S/N]' 0 0
           if [ $? = 0 ]; then
           dialog --msgbox 'Ejetando a Fita Dat' 5 45
           sleep 1
           mt -f /dev/st0 eject
           else
           dialog --msgbox 'Processo Cancelado Pelo Usuario !' 5 45
           fi
           ;;
           5) du -hs /Restore > /root/espacodisco.txt
              df -h >> /root/espacodisco.txt
           dialog --tailbox /root/espacodisco.txt 10 75
           ;;
           0)  break ;;
esac
done

Um comentário:

  1. Boa tarde Danniel...

    Show o seu script para backup em fita dat, estou rodando ele aqui em minha empresa.
    Parabéns!

    Porém preciso que ele gere um arquivo de log contendo hora a hora que iniciou o backup e a hora que terminou.
    Seria possível?

    Mais uma vez parabéns e se a resposta for sim. Por favor envie para meu e-mail: lks1989@hotmail.com.

    Abraço.

    ResponderExcluir