Backup Incremental

Publicado por Alexandro Felix 27/06/2007

[ Hits: 10.211 ]

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

Firewall Iptables

Monitorando seus daemon de impressão...

Gerar arquivos CSV no postgresql

Enviar mensagens Via Net Send no Linux

Java 7/8 - Instalação automatizada no Ubuntu


  

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