/*Gostaria de que nesse script, ao invés de compactar o home todo em um
único arquivo, compactasse cada pasta do diretório home, assim no caso
da necessidade de restauração, restaturaria somente a(s) pasta(s)
necessária(s).
*/,

Ola Edson, eu tenho um script que faz exatamente isto. segue abaixo

[]´s


#! /bin/sh
######################################################
# #  backup.sh                                     # #
# #  Escrito por Flavio Torres - Sob GPL           # #
# #  Dezembro de 2004                              # #
# #  v. 0.93 beta                                  # #
# #  Efetua backup de todos os arquivos            # #
#####################################################
#descrição
#faz os backups dos grupos da pasta home/online com execeção dos
#diretórios da variavael nobackup.
#
#O procedimento de backup funciona da seguinte maneira:
#- é montado a pasta para armazenar o backup
#- é excluido o backup anterior
#- é feito o novo backup
#- o novo backup é testado para ver se esta funcionando
#- se nao estiver é gerado novamente


#variaveis
salvar="/backups"
diretorios=`ls /home/ -A1N`
data=$(date | cut -f 2-4 -d ' ')

nobackup="online
lost+found"

log="/var/log/backup_grupos.log"

#montando o backup
echo "----Inicio Backup Geral----" $data >> $log

while [ true ]; do

 smbmount //192.168.0.2/pdcbackup /backups/ -o 
username=USUARIO%SENHAip=192.168.0.2,debug=0,workgroup=ONLINE

 if [ $? = "0" ]; then
  echo "Sistema montado!" $data >> $log
  echo "[OK] Continuando..."
  break
 else
  echo "Erro na montagem!" $data >> $log
  echo "Erro, Tentando Novamente..."
 continue
 fi
done

cd /
grupos=`ls /home/online/ -A1N`

for diretorio in $grupos; do
      while [ true ]; do
            echo "$diretorio: "
            echo "excluido ..."
            rm $salvar/grupos/$diretorio.tar.gz
           echo "compactando ..."
            tar cf - /home/online/$diretorio --exclude 
/home/online/abm --exclude /home/online/programas --exclude 
/home/online/transfere | gzip -c > $salvar/grupos/$diretorio.tar.gz
            echo "testando ..."
            if tar -ztf $salvar/grupos/$diretorio.tar.gz >> /dev/null 2>&1; 
then
                  echo " Arquivo ok"
                  echo " Arquivo ok" $diretorio $data >> $log
                  echo
                  echo
                  break
            else
                  echo " Erro compactando novamente!"
                  echo " Erro compactando novamente!" $diretorio >> $log
    echo
                  echo
                  continue
            fi
      done
done


while [ true ]; do
      echo "etc: "
      echo "excluido ..."
      rm $salvar/sistema/etc.tar.gz
      echo "compactando ..."
      tar cf - /etc | gzip -c > $salvar/sistema/etc.tar.gz
      echo "testando ..."
      if tar -ztf $salvar/sistema/etc.tar.gz >> /dev/null 2>&1; then
            echo "Arquivo ok"
            echo " Arquivo ok" $diretorio $data >> $log
            echo
            echo
            break
      else
            echo "Erro compactando novamente!"
            echo " Erro compactando novamente!" $diretorio >> $log
            echo
            echo
            continue
      fi
done
smbumount /backups
 echo "----Backup Geral realizado com Sucesso----" >> $log 



        
        
                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a