Fazendo backup ou cópia somente dos arquivos alterados no último dia

Publicado por Carlos Eduardo de Andrade em 09/11/2007

[ Hits: 13.776 ]

 


Fazendo backup ou cópia somente dos arquivos alterados no último dia



Muitas vezes queremos fazer um backup ou copiar os arquivos que foram alterados a partir de determinada data. Isto geralmente é útil quando devemos manter certa ordem em nossas coisas, e não sobrescrever trabalho já feito.

Para isso podemos utilizar o comando find, com alguns de seus argumentos. Veja o exemplo abaixo:

$ find $(cat $INCLUDE_LIST) -mtime -1 -type f -print | \
tar -czf $BACKUP_DIR/$BACKUP_NAME --exclude-from=$EXCLUDE_LIST -


Nele, temos o find aplicado sobre uma lista de arquivos (descrita pelo arquivo dentro da variável $INCLUDE_LIST). Depois vem o segredo: os argumentos -mtime -1 -type f indicam para o find só relatar arquivos com data de alteração do no máximo 1 dia. O argumento -print apenas indica que tudo será impresso na saída padrão que é canalizada através do pipe | para o comando tar.

No tar temos mais algumas variáveis, com destaque para o argumento --exclude-from=$EXCLUDE_LIST que indica para o tar excluir os arquivos de uma lista contida no arquivo indicado pela variável $EXCLUDE_LIST. Note o sinal "-" no final do comando: isto indica para o tar assumir como entrada, o que vem da canalização. Portanto, NÃO ESQUECE DELE. ;-)

Espero que tenha ajudado!

Outras dicas deste autor

Windows montando partições Linux

Bloqueando objetos Flash de páginas

Leitura recomendada

Corrigindo bug do imsniff 0.04 com um simples script (gambiarra)

Shell script com Kdialog

Script para verificar LOGs do Squid e selecionar páginas a serem bloqueadas

CGI + Shell Script: gerando listagem de IPs disponíveis em sua rede

Utilizando arrays em shell script

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts