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
Bloqueando objetos Flash de páginas
Windows montando partições Linux
Leitura recomendada
Letras coloridas no Vim
Corrigindo bug do imsniff 0.04 com um simples script (gambiarra)
Liberando o acesso a ART NET com iptables
Redimensionando e renomeamento imagens em massa
tres - Transação Executivo-operacional em Shell
Comentários
Nenhum coment�rio foi encontrado.