Duvidas em um script para backup

1. Duvidas em um script para backup


NovoApelido

(usa Outra)

Enviado em 19/10/2011 - 17:56h

meus caros,
tenho um probleminha para resolver, e ficaria grato se alguém pudesse me ajudar.

Estou trabalhando em um script para backup e enfrento dois problemas.
1º- preciso copiar os arquivos para o backup, e usei este comando:

cp -rf $d_pesquisa $d_publico $d_adm $destino

mas não posso usá-lo pois o script de backup irá rodar todos os dias, e dessa forma ele copiaria sempre as mesmas coisas. Preciso copiar apenas o que ainda não foi copiado (copiar apenas o que é novo).

2º- como citei acima, copio tudo que está nas pastas "pesquisa", "publico" e "adm", e salvo as três pastas no backup em uma pasta nomeado por data. Ex: 2011-10-19
Preciso manter no backup apenas 7 pastas, ou seja, backup's de 7 dias. Quando eu for fazer o backup do 8º dia, preciso excluir a pasta mais antiga.
Se eu usar este comando:

dia=$(date +%Y-%m-%d -d "7 days ago")
rm -Rf /arquivos/rotinas/scripts/backup_hd/$dia

ele funciona, mas se eu não fizer o backup do 8º dia e fizer do 9º dia, ele irá excluir a 2ª pasta mais antiga e não a 1ª. Então usei este comando:

find /arquivos/rotinas/scripts/backup_hd/ -ctime +7 -exec rm -rf {} \;

mas ele não funcionou, e quando funciona também apaga meu arquivo ".sh" (que deve ficar no backup).
Acredito que uma solução, seria buscar por arquivos com nome de data, assim ele buscaria apenas as pastas e não o meu arquivo ".sh", mas não sei como faço isso.

Se alguém puder me ajudar em pelo menos um problema, ficarei muito agradecido.


  


2. Re: Duvidas em um script para backup

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 19/10/2011 - 18:02h

Pra buscar apenas as pastas, utilize o parâmetro "-type d" no find.


3. Re: Duvidas em um script para backup

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 19/10/2011 - 18:10h

na duvida de uma olhada na manpage do comando find

#man find

só por curiosidade por que o script tem que ficar no mesmo lugar do backup ?

você pode criar um diretorio com a data e colocar o backup alí

assim uma sugestão

efetua um backup sincronizado com o comando rsync
e uma o comando find para para listar os ultimos arquivos utilizado no dia e adiciona para um arquivo compactado com tar e a data do dia




4. Re: Duvidas em um script para backup


NovoApelido

(usa Outra)

Enviado em 20/10/2011 - 14:39h

vlw mais uma vez pela atenção, pessoal...


5. Re: Duvidas em um script para backup

Joao
stack_of

(usa Slackware)

Enviado em 20/10/2011 - 16:19h

Utilize o rsync, ele faz backup incremental e pode deletar pastas removidas, caso você queira. Para ser executado periodicamente utilize o cron (editando o crontab).
Com relação a remoção das pastas de backup, basta remover o arquivo mais antigo ao gravar o novo:


rm `ls -tr |tail -1`


Verifica se funciona.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts