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

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

[ Hits: 11.941 ]

 


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

Como fazer diff entre duas imagens

GNU parallel - Um ferramenta para execução de processos em paralelo

Processos rivais

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

Testando se o servidor está no ar, caso não esteja, a máquina é desligada

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário