BACKUP: Incremental com CP

Se você copia arquivos para uma partição, pendrive, ou pasta remota para backup, para não precisar copiar sempre os mesmos arquivos que não sofreram alterações, no qual você tem vários gigabytes em centenas de arquivos, pode fazer uma cópia inteligente com o comando cp usando os flags -vur.

Este comando copia somente os arquivos que foram atualizados ou criados, diminuindo assim o tempo de cópia dos arquivos, já que será copiado somente os novos arquivos criados que não existirem no destino, ou que foram alterados para a pasta, partição ou pendrive usado como backup.

Exemplo:

$ cp -vur * /media/disk

Serão copiados todos os arquivos novos que não existirem no destino ou que foram alterados para/media/disk.

Este comando copia também subdiretórios e arquivos ocultos, mas somente arquivos ocultos abaixo da pasta atual; por exemplo, eu estou em /home/nando/ e dentro desta pasta existe ainda outras pastas, executando o comando em /home/nando/:

$ cp -vur * /media/disk

Os arquivos ocultos que estiverem dentro da pasta /home/nando não serão copiados para o destino, mesmo que não existam lá os mesmos, somente serão copiados os arquivos ocultos que estiverem dentro de outras pastas a partir da pasta "/home/nando".

Uma pequena desvantagem da cópia com o comando cp, é que se você excluir os arquivos da pasta de origem que não mais interessa para utilizar no backup, os mesmos não são excluídos no destino usado para backup, devendo fazer a exclusão manualmente no destino usado para backup para economizar espaço no disco.

Outro exemplo:

$ cp -vur icones/ ocr/ Skins/ /media/disk/bkp/

Copia as pastas "icones", "ocr" e "Skins" para /media/disk/bkp.

Flags:
  • -v :: verbose
  • -u :: update
  • -r ou -R :: recursivamente

Script para automatizar o backup para ser adicionado ao crontab:

Obs.: Nome "cpbkp" com permissão x (execução).


date >> /tmp/bkp.log
cp -vru /caminhodeorigem /caminhodedestino >> /tmp/bkp.log
echo ================================= >> /tmp/bkp.log

Com isso, será gerado um log dos arquivos que foram copiados para a pasta de destino, servindo para você conferir se a cópia está sendo realizada examinando o log que contém a data e hora de cada execução do script e os nomes dos arquivos copiados.

Esta dica também está disponível em:
Close Menu