[rsync] Sincronizando becapes e outros dados

Publicado por Perfil removido em 31/10/2009

[ Hits: 12.667 ]

 


[rsync] Sincronizando becapes e outros dados



No dia a dia uso muito meu pendrive e o notebook para trabalhar, pois presto serviços em vários estabelecimentos e possuo meu "QG" com desktop, biblioteca etc, onde armazeno meus dados.

Como procedo: tenho meus documentos e arquivos no desktop, que é a máquina principal de uso, pois a utilizo mais para trabalhar, mas preciso de mobilidade, que o pendrive e o notebook dão.

Até aí nada de novo, pois todo mundo faz assim.

A questão que me trouxe até esta dica são as versões de arquivos. Como disse há pouco em outra dica, meus arquivos começaram a ficar bagunçados e precisei fazer uma faxina nos HDs (uso 3x40GB IDE no desktop, por pura sovinice, mas isso não vem ao caso).

E acabei percebendo que iria piorar a bagunça das minhas coisas nessa questão de carregar dados no pendrive, no notebook, trazer para o desktop e vice versa. Na verdade eu já tinha percebido isso há tempos, e criei uma rotina diária para mim, a fim de minimizar o impacto em meus dados.

Vamos lá... Feita a faxina descrita na dica Eliminando arquivos duplicados (quase!) automaticamente, podemos começar com um sistema limpinho, mas não é imprescindível.

Vou descrever aqui minha rotina, você pode adotá-la ou não, fica a seu critério.

Becape semanal

1) Todos os dados das pastas de arquivos e de $HOME são sincronizados com o HD externo.

2) Todos os dados do HD externo são sincronizados com o notebook Amazon (uso mais um Dellzim velho no dia a dia).

3) Guardar o notebook (uso pouco para trabalhar, mais para ler, assistir vídeos, msn e programar um pouco) e o HD externo.

Becape diário

1) Todos os dados da pasta $HOME/Documentos do desktop são sincronizados com a pasta Documentos do pendrive (uso 2 partições para evitar xeretas eventuais no Windows -- os dados ficam em ext2 e ele é bootável com Ubuntu 9.04 via FAT16 -- são 2+2GB -- na partição FAT16 ficam apenas arquivinhos tolos que passo pra um ou outro usuário e ferramentas pra descanalhar Windows dos tais).

2) Todos os dados da pasta Documentos do pendrive são sincronizados com a pasta $HOME/Documentos do notebook Dell.

3) Daqui temos 2 possibilidades:

a) caso tenha trabalhado com o notebook Dell, todos os dados da pasta $HOME/Documentos do notebook são sincronizados com a pasta Documentos do pendrive.

a.1) Todos os dados da pasta Documentos do pendrive são sincronizados com a pasta $HOME/Documentos do desktop. Paramos.

b) caso tenha trabalhado com o desktop, voltamos para os procedimentos "1" e "2" e paramos.

UFA. Falar é mais difícil que fazer. E agora temos todos os documentos e arquivos nas mesmas versões em diferentes máquinas (no meu caso 2, pois o Dell fica só com os Documentos) e mídias (pendrive e HD externo), pois é extremamente desagradável passar algumas horas trabalhando em um documento importante em casa ou no escritório e quando vai abrir a versão que está no pendrive ou notebook perceber que ainda é a versão anterior que nada acrescenta e não resolve o problema (me aconteceu com uma petição de 25 laudas, levei o arquivo inicial com 2... pense numa revolta... daí que bolei esse esquema).

Usamos para isso o rsync e como só estaremos sincronizando os dados, ele não copiará tudo novamente, apenas o que foi modificado.

O rsync é uma ferramenta poderosa e útil, sendo que não é muito utilizada em servidores de dados públicos (como é o caso da maioria dos mirrors de isos Linux, dentre outros), porque, segundo me consta, acaba exigindo muito do servidor em termos de memória e processamento, pois precisa conferir as diferenças entre arquivos e ainda enviá-los comprimidos pela rede. Agora imagine um servidor fazendo isso com uns mil usuários pendurados... Claro que existem vários servidores com rsync mundo afora, mas veja quantas distros e mirrors existem e quantos oferecem a opção de download via rsync daemon. Outra nova e interessante alternativa para servidores é o zsync.

Ops, desculpem a digressão... O rsync é encontrado por padrão na maioria das distros, mas se não o encontrar, num sistema Debian-like, use o conhecido:

# apt-get install rsync

O comando usado para sincronizar as pastas é:

rsync -vaxE --delete /origem/Documentos/ /destino/Documentos/

Note que a barra final faz diferença. Neste caso as pastas são iguais e vamos sincronizar só o que elas contém. Se faltar uma barra, o rsync vai entender que é para copiar uma pasta dentro da outra e não vai funcionar a contento.

As opções "-vaxE" fazem a tarefa de manter permissões etc. Uso o mnemônico "VAX", que era o nome de um antigo sistema da DEC, do tempo do boitatá (http://pt.wikipedia.org/wiki/VAX/VMS) para lembrar dela...

A opção "--delete" diz para apagar arquivos movidos ou deletados (ele não diferencia, ele apaga no destino se não existir na origem, portanto: cuidado com suas coisas), o que por si só ajuda a evitar arquivos duplicados (não faz milagre, mas ajuda).

Depois de um tempo, digitar esses comandos fica tão natural que acabei nem escrevendo script pra isso...

Mais sobre o rsync:

man rsync

Backup com Rsync [Artigo]

Até a próxima.

Outras dicas deste autor

Sistema inicializando em modo de emergência depois de excluída uma partição

Como criar uma senha muito forte para o seu e-mail

Geany - a IDE ideal para todos os programadores [Vídeo]

Instalando o PostgreSQL e pgAdmin3 no Ubuntu

Traduzindo o Pardus 2011.2 para português do Brasil

Leitura recomendada

Separando a pasta home depois da instalação do GNU/Linux

TkDesk - Gerenciador de arquivos

Arch Linux - Resolvendo Problemas de Montagens de Discos

Forçando a montagem da partição NTFS no Linux

Projeto linux-ntfs lança driver beta para leitura e escrita em partições NTFS

  

Comentários
[1] Comentário enviado por brunopsystem em 10/12/2009 - 21:07h

Muito bom e muito bem explicativo.
obrigado

[]'s
Bruno

[2] Comentário enviado por nickmarinho em 04/11/2010 - 18:39h

Muito boa essa dica, estou passando por situação semelhante. Tenho um pendrive de 8gb onde levo os arquivos para o trabalho, geralmente são sites que edito em casa no meu desktop e no trabalho em outro desktop.

Para isso criei um shell para fazer essa atualização do pendrive para o desktop de casa e depois do desktop de casa para o pendrive e em seguida para o desktop do trabalho.

#!/bin/bash
if [ $# -lt 2 ]; then
echo "usage: $0 \"folder-from\" \"folder-to\""
elif [ ! -d $1 ]; then
echo "$1 is not a folder"
elif [ ! -d $2 ]; then
echo -e "$2 is not a folder"
echo -e "creating \"$2\" folder"
mkdir $2
sleep 2

rsync -vaxE --delete $1 $2
echo "done !"
else
rsync -vaxE --delete $1 $2
echo "done !"
fi

Abraços

www.lucianomarinho.com.br

www.racaboxer.com.br

;-)

[3] Comentário enviado por wellesfreire em 25/09/2012 - 15:21h

Valeu pela dica resolveu um problema meu antigo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts