quarta-feira, 27 de fevereiro de 2013

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 houve alterações, no qual você tem vários gigabytes em centenas de arquivos você pode fazer uma cópia inteligente com o comando cp usando os flags -vur que copia somente os arquivos que foram atualizados ou criados diminuindo assim o tempo de copia dos arquivos, já que será copiado somente os novos arquivos criados que não existir no destino ou que foram alterados para a pasta, partição ou pendrive usado como backup.


Exemplos:
$ cp -vur * /media/disk

Será copiados todos os arquivos novos que não existir 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  existe ainda outras pastas e executando o comando cp -vur * /media/disk em /home/nando/ os arquivos ocultos que tiver dentro da pasta /home/nando não será copiado para o destino mesmo que não exista lá os mesmos, somente serão copiados os arquivos ocultos que tiver dentro de outras pastas  a partir da pasta /home/nando.

Uma pequena desvantagem da copia com o comando cp é que ser 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 pra 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 pra ser adicionado ao crontab.

Nome cpbkp com permissão x.

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

Com isto será gerado um log dos arquivos que foram copiados para a pasta de destino, servindo para você conferir se a copia 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.


Nenhum comentário:

Postar um comentário