Para fazer backup de forma eficiente, a fim de sincronizar dois diretórios, HD externo ou mesmo um backup remoto/local, o
rsync é a solução ideal para isto.
Para instalar o rsync, procure pelo pacote "rsync" no seu gerenciador de pacotes.
Você deve informar o diretório de origem e o diretório de destino, para onde os arquivos serão copiados.
Exemplo:
rsync -av /home/nando/docs/ /mnt/dados/backup/
Onde:
- A opção "-a" preserva todas as permissões de arquivos e também faz cópia recursivamente.
- Aopção "-v" serve para ver os nomes dos arquivos que estão sendo copiados.
Exemplo da saída do backup feito:
rsync -av /home/nando/docs/ /mnt/dados/backup/
sending incremental file list
./
Acesso remoto vnc com tightvnc com desktop xfce4.odt
Chat do facebook via pidgin sem precisar abrir o navegador.odt
Conversão completa de videos no Linux 2012.odt
Criando e reproduzindo playlist de musicas.odt
Criando pasta criptografadas com Cryptkeeper .odt
Desktop Remoto no Linux.odt
Gravado e ripando mídia de Blu-Ray no GNU/Linux.odt
Importar registros pra oobase.odt
sent 5479040 bytes received 186 bytes 10958452.00 bytes/sec
total size is 5477423 speedup is 1.00
* Importante: o uso da barra ("/") no final do nome dos diretórios de origem e destino, é importante na sintaxe do rsync para a correta cópia do que foi especificado.
Caso você tenha apagado arquivos por engano ou formatado a partição (desde que o backup não esteja armazenado nesta partição), para recuperar os dados, você deve inverter a ordem dos diretórios no comando, sendo o diretório do backup a origem e o diretório original seja o destino, conforme exemplo abaixo:
rsync -av /mnt/dados/backup/ /home/nando/docs/
Exclusão de arquivos
Exclusão de arquivos desnecessário que estão no backup.
No diretório "/home/nando/docs/" foi deletado o arquivo "Processador Amd Sempron 145 2.8ghz.pdf" propositalmente, e criado o arquivo "xubuntu 12.10 usando.txt":
rsync -av --delete /home/nando/docs/ /mnt/dados/backup/
sending incremental file list
./
deleting Processador Amd Sempron 145 2.8ghz.pdf
xubuntu 12.10 usando.txt
sent 192553 bytes received 34 bytes 385174.00 bytes/sec
total size is 5931013 speedup is 30.80
O "--delete" faz com sejam apagados no diretório usado para backup, todos os arquivos que foram apagados manualmente no diretório original, ficando uma cópia fiel entre os dois diretórios. Se você pretende manter sempre no backup os arquivos antigos, você não deve usar a opção "--delete", de forma que você possa recuperá-los caso precise.
Notas
O rsync é ótimo para fazer backup incremental e também existe um ótima GUI gráfica para o mesmo com o nome de
Grsync em GTK (não é necessário ter o GNOME e suas libs instaladas).
Sistema de arquivos usado pelo Windows
Um detalhe importante do rsync é que, para copiar arquivos para partições ou discos formatados em FAT16, FAT32 ou NTFS, não use o flag "-a" no rsync, pois esta flag somente deve ser usada com sistema de arquivos do GNU/Linux, pois, caso seja usado, os arquivos não serão gravados em sistema de arquivo Windows, sendo exibido a seguinte linha para cada arquivo a ser copiado:
rsync: chgrp "caminho-destino.nome-do-arquivo failed: Operation not permitted (1)
Para copiar subdiretórios, ou seja, recursivamente para partições Windows, você deve usar o flag "-r" (recursivamente), então os flags deve ser "-vr" para gravar em sistema de arquivos Windows.
O flag "-a" já faz cópia recursivamente e preserva todas as permissões de arquivos e, por isto somente, funciona com sistema de arquivos do GNU/Linux.
Para ajuda:
rsync --help
E:
man rsync
O rsync também pode ser utilizado com o
Samba ou com o
SSH remotamente.
Dica também publicada em:
Meu Mundo Tux: Backup incremental com rsync
bom dia,
até postei essa dúvida em um outro artigo..
Uso Rsync para backup, até então tudo ok.
Na otimização de um script... precisei do --include, mas nao funcionou no modo backup.
Backup do diretorio compartilhado, para outro local...
onde aqui nesse comando, ele sincroniza tudo, e salva em pastas separadas as modificacoes em arquivos.
rsync --backup --backup=$DATA -a /dados_cliente /dados_bkpeados
eu uso o seguinte comando para sincronizar o diretorio com o hd externo.
rsync -a /dados_bkpeados /hd_montado.
Agora, preciso usar o include...que é um arquivo, com varios diretorios diferentes.
nao quero e nem tem a necessidade de clonar linhas do mesmo comando.
ou seja, melhorando o primeiro comando acima, mas que nao é somente um diretorio de dados, e sim, vários.
tentei assim:
rsync --backup --backup=$DATA --include --include-from=/root/diretorios.list /dados_bkpeados
teria alguma sugestao amigo?