Implementando Script de Backup

1. Implementando Script de Backup

Fernando
fernando_mlc

(usa Debian)

Enviado em 14/06/2011 - 00:08h

Ola Pessoal Estou aqui mas uma vez..

E o seguinte estou com script de backup rodando muito bem, mas estou querendo implementar meu script com a seguinte opção.

meus hds de backup so tem espaço para dois backups diarios, quando vou fazer o terceiro backup tenho q entrar manualmente em meu hd para remover o mas antigo.

andei pesquisando e encontrei o comando find.

Mas ainda nao consegui fazer uma logica que ele remova o mas antigo.
Consegui remover especificando com o dia mas antigo.
Ex. mtime +5
Com essa opção ja quebra um galho, mas uso vários hds para meu backups e fica complicado especificar um dia pra apagar..


  


2. então

Diego Felipe de Araújo
tecnicodiegorato

(usa Ubuntu)

Enviado em 14/06/2011 - 00:13h

posta aí seu script de backup pra gente dar uma luz aí,

abraços.


3. Re: Implementando Script de Backup

Fernando
fernando_mlc

(usa Debian)

Enviado em 14/06/2011 - 00:22h

# Variaveis do Backup
DATA=`date +%A-%d-%m-%Y-%H-%M-%S-%Z`
LOGBKP=/var/log/backup/$DATA-rsync.log
PASTA=bkp-Diario-`date +%A-%d-%m-%Y`
# Montando Hd para Backup
mount /dev/sdb1 /media/backup

# Criando Pasta Para Backup
mkdir /media/backup/$PASTA
echo "******************************************************************************" >> $LOGBKP
echo "Inicio do backup dos ARQUIVOS " >> $LOGBKP
date +%A-%d-%m-%Y-%T >> $LOGBKP
####

#Compacta todas as pastas para Hd Externo.
tar -zcvf /media/backup/$PASTA/admpessoa.tar.gz /rede/admpessoal
tar -zcvf /media/backup/$PASTA/almox.tar.gz /rede/almox
tar -zcvf /media/backup/$PASTA/compras.tar.gz /rede/compras
tar -zcvf /media/backup/$PASTA/controle.tar.gz /rede/controle
tar -zcvf /media/backup/$PASTA/desenv_pessoal.tar.gz /rede/desenv_pessoal
tar -zcvf /media/backup/$PASTA/engenharia.tar.gz /rede/engenharia
tar -zcvf /media/backup/$PASTA/faturamento.tar.gz /rede/faturamento
tar -zcvf /media/backup/$PASTA/ferramentaria.tar.gz /rede/ferramentaria
tar -zcvf /media/backup/$PASTA/fiscal.tar.gz /rede/fiscal
tar -zcvf /media/backup/$PASTA/gerencia.tar.gz /rede/gerencia
tar -zcvf /media/backup/$PASTA/gq.tar.gz /rede/gq
tar -zcvf /media/backup/$PASTA/manutencao.tar.gz /rede/manutencao
tar -zcvf /media/backup/$PASTA/padrao_servico.tar.gz /rede/padrao_servico
tar -zcvf /media/backup/$PASTA/pcp.tar.gz /rede/pcp
tar -zcvf /media/backup/$PASTA/proce_admissao.tar.gz /rede/proce_admissao
tar -zcvf /media/backup/$PASTA/proce_demissao.tar.gz /rede/proce_demissao
tar -zcvf /media/backup/$PASTA/producao.tar.gz /rede/producao
tar -zcvf /media/backup/$PASTA/rh.tar.gz /rede/rh
tar -zcvf /media/backup/$PASTA/secret_ger.tar.gz /rede/secret_ger
tar -zcvf /media/backup/$PASTA/servico_medico.tar.gz /rede/servico_medico
tar -zcvf /media/backup/$PASTA/sesmt.tar.gz /rede/sesmt
echo "FINAL Do Backup DOS ARQUIVOS : " >> $LOGBKP
date +%A-%d-%m-%Y-%T >> $LOGBKP
echo "******************************************************************************" >> $LOGBKP

mail -s "BACKUP DIARIO " "fernando.lima@scorpios.com.br" << FIMMAIL

Relatorio De Backup DIARIO


`cat $LOGBKP`

******************************************************************************

Tamanho do Backup Diario

`du -h -a /media/backup/$PASTA`

********************************************************************************

Status ATUAL DO DISCO

`df -h /dev/sdb1`

FIMMAIL

# Desmontando Hd de Backup
umount /media/backup


4. bom amigo

Diego Felipe de Araújo
tecnicodiegorato

(usa Ubuntu)

Enviado em 14/06/2011 - 00:47h

o caminho é o comando find mesmo, parabéns pelo seu script de backup, muito parecido com o que eu uso, exceto que eu não apago arquivos com tanta frequencia, o bkp ainda é pequeno, mas enfim voltando ao assunto encontrei essa pagina com todas as funções do comando find detalhado.

http://www.zago.eti.br/find.html#toc14

lendo rapidamente encontrei essa sintaxe que deve se suprir suas necessidades



find /media/backup -name "*.tar.gz" -mtime +2 -exec echo {} \;

Se o resultado acima atende a procura, para apagar (remover), troque echo por rm.

find /media/backup -name "*.tar.gz" -mtime +2 -exec rm {} \;

onde pelo que li +2 equivale a arquivos *.tgz com mais de 2 dias de modificação.

faça um teste e leia atentamente o link que passei, mas não se esqueça de fazer bkp dos arquivos antes de testar, posta aí o resultado, boa sorte, abraços.


5. Re: Implementando Script de Backup

Fernando
fernando_mlc

(usa Debian)

Enviado em 14/06/2011 - 01:01h

blz cara, mas deixa eu te explicar uma coisa..

eu tenho três hds de backup diario

HD-1 Segunda - Quarta
HD-2 Terça - Quinta
HD-3 Sexta

sendo que ainda tenho hds semanal, mensal e anual. Essa e a politica de backup que temos aqui na empresa..

Percebe que meus arquivos variam muito não tem como eu configurar um dia especifico, pois uns duram 3 outros 4 e ate 6 dias para serem modificados. E eu uso um script para o backup Diario.
Pra eu poder especificar um dia tenho q fazer um script pra cada um. se não consegui acho que vou fazer isso.


6. bem

Diego Felipe de Araújo
tecnicodiegorato

(usa Ubuntu)

Enviado em 14/06/2011 - 01:40h

você pode usar o arquivo de log que você cria no seu script, para pegar o nome do arquivo que você criou e incluir ele como uma variavel no script pra remoção de backups mais antigos, mas agora não estou conseguindo imaginar a sintaxe, ainda acredito que o comando find possa resolver seu problema, se usar varias chamadas, por exemplo, com ele você pode procurar arquivos modificados entre varias datas especificas, e remover o mais antigo, não necessariamente o de 1 ou 2 das atrás, pelo que li sobre o comando tem como, no momento não tenho onde testar as possibilidades, mas creio que seja possível sim, creio que se usar a saída do comando find com os filtros corretos, o script irá identificar o mais antigo e removê-lo corretamente.

é complicado mesmo adequar tudo certinho, mas não tenho duvidas que seja possível, afinal shell script é muito amplo, teste algumas possibilidades, amanhã vou testar algumas coisas aqui com o find se tiver tempo, boa sorte amigo e poste os resultados, abraço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts