Backup diário "datado".

Publicado por Alexandre de Castro Goulart 13/05/2005

[ Hits: 12.496 ]

Download backupdiario.txt




Este script faz um backup diário para um diretório cujo nome indica a data da operação. Também apaga os backups anteriores, mantendo uma quantidade de dias definida inicialmente, quando criamos um arquivo de controle e log com um número de linhas correspondente ao número de dias que queremos manter guardados.
Está meio "bacalhau", mas fiz este script com recortes de outros que uso para outros fins (por isso o monte de variáveis...),visando atender à solicitação de um colega nosso aqui do site.

  



Esconder código-fonte

#!/bin/bash
#
# Faz backup de um diretorio para outro (em outro 
# disco) criando um diretorio com a data da 
# operacao. Apaga os backups antigos, baseado em
# um arquivo de log. Este deve ser criado com um
# número de linhas com "0" igual ao número de
# dias que se quer manter em backup. Por exemplo,
# se queremos backups de duas semanas, fazemos
# echo 0 >> /mnt/backup/log [enter]
# quatorze vezes apenas na "instalação". Coloque
# o script no CRON para rodar de madrugada, por
# exemplo.
#
# Alexandre C. Goulart. 13/05/05
#

# Preparacao das variaveis.
###########################

# Atribui o ano atual a variavel ano.

ano=$(date +%y)

# Atribui o mes atual a variavel mes.

mes=$(date +%m)

# Atribui o dia atual a variavel dia.

dia=$(date +%d)

# Cria o diretorio de backup.

mkdir /mnt/backup/$dia$mes$ano

# copia os arquivos para o diretorio de backup.
# Em vez de copia pode ser feito também um TAR.

cp -R /home/* /mnt/backup/$dia$mes$ano

# Registra os backups.

echo $dia$mes$ano >> /mnt/backup/log

# Apaga diretorios antigos.

apag=$(head -n1 /mnt/backup/log)
rm -Rf /mnt/backup/$apag 2>/dev/null

Scripts recomendados

dcamt

Montando imagens ISO

smartzip

Horário de Verão 2010/2011

abelhudo


  

Comentários
[1] Comentário enviado por removido em 29/08/2007 - 12:34h

Rapaz... muito bom seu script... gostei muito da simplicidade de sua didática no código fonte... era exatamente o que eu precisava para gerar meu backup criando-o como um diretório ou arquivo com nome diferente para cada backup... o que me auxilia em manter cópias de datas anteriores...
vou fazer algumas implementações em meu backup utilizando algumas idéias encontradas em seu script... se eu vier a postá-lo... com certeza darei os seus devidos créditos... no mais... Viva o Linux!... Viva a comunidade altamente participativa...


Contribuir com comentário