Backup Incremental

Publicado por Alexandro Felix 27/06/2007

[ Hits: 10.418 ]

Homepage: http://rideick.blogspot.com/

Download backupSecran.sh




Backup incrementado que sempre guarda o histórico.

  



Esconder código-fonte

#!/bin/bash
#By Alexandro Felix
#date 12/06/2007
#F13 Tecnologia

#backDiario -> Variável correspondente a lista de pastas a serem compactadas
backDiario="administracao agenda arquivo consultoria contabil diretoria expedicao financeiro fiscal profiles pessoal publico tributos dds"

#backdest -> Variável que corresponde ao diretório de destino (onde o backup será gravado)
#backsource -> Variável correspondente ao diretório de origem (de onde o backup será gerado)
backdest=/mnt/sdb1/diario
backsource=/backup/lampiao/disk/compartilhamentos
for i in $backDiario
   do
      mkdir -p $backdest/$i/`date "+%Y-%m-%d"`
      #Especifica a pasta em que vc quer um backp incrementado
      if [ $i = "agenda" ];
      then
         #mkdir $backdest/$i/`date "+%Y-%m-%d"`
         tar -cvzf $backdest/$i/`date "+%Y-%m-%d"`/`date "+%Y-%m-%d"`.tar.gz $backsource/$i
         
         #gerando log!!
         ls -s $backdest/$i/`date "+%Y-%m-%d"`/`date "+%Y-%m-%d`.tar.gz
         #testando existência do backmastermaq
         if [ $? = 0 ]
         then
            echo "Backup de `date "+%Y-%m-%d"` gerado com sucesso!!!" >> /var/log/backup.log
         else
            echo "Backup de `date "+%Y-%m-%d"` não gerado com sucesso" >> /var/log/backup.log
         fi
      fi
      #Fazendo backup das demais pastas diárias
      
      tar -cvzf $backdest/`date "+%Y-%m-%d"`.tar.gz /$backsource/$i
      ls -l $backdest/`date "+%Y-%m-%d"`.tar.gz
      if [$? = 0 ]
      then
         echo "Backup ExMastermaq de `date "+%Y-%m-%d"`gerado com sucesso!!!" >> /var/log/backup.log
      else
         echo "Backup ExMastermaq de `date "+%Y-%m-%d"` gerado com sucesso!!!" >> /var/log/backup.log
      fi
   done

Scripts recomendados

Bloqueia MAC Adress salvos na lista

Manutenção básica em partições Windows

Fazer backup de todas base de dados no PostgreSQL

Conversor de log SVN para RSS

Diferença entre datas


  

Comentários
[1] Comentário enviado por removido em 03/01/2011 - 01:07h

Alexadro,

Acheio o script show....., mas esta apresentando erro...ou eu criei um erro hehehe.... parece algo simples e basico.. mas nao consigo ver o estou fazendo de errado nas pastas...



Seu codigo:
=========
backdest=/mnt/sdb1/diario
backsource=/backup/lampiao/disk/compartilhamentos

Minha teste:
=========
backdest=tmp/
backsource=bk1/ ( dentro desta pasta tem apenas dois arquivos para fins de testes )



Erro:
===
tar: Removing leading `/' from member names
tar: /bk1//vendas: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
-rw-r--r-- 1 root root 45 2011-01-03 01:06 tmp//2011-01-03.tar.gz
b: line 37: [0: command not found
tar: Removing leading `/' from member names
tar: /bk1//compras: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors
-rw-r--r-- 1 root root 45 2011-01-03 01:06 tmp//2011-01-03.tar.gz
b: line 37: [0: command not found

[2] Comentário enviado por removido em 08/01/2011 - 13:53h

Alguem tem alguma sugestao sobre a duvida acima ?

obrigado

[3] Comentário enviado por Acidbytes em 25/10/2011 - 11:38h

Seus caminhos nas variáveis backdest e backsource não devem ter a barra no final, pois do contrário o script irá duplicar a barra!

Outra observação, este é um backup full, pois não diferencia os arquivos que já foram copiados, para ser um backup incremental, deveria gerar o backup apenas dos arquivos modificados desde a data do último backup.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts