De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Desafio na era do Terabytes II
Colaboração: Fabio Maximo
Data de Publicação: 02 de December de 2008
Com as midias removiveis aumenta a demanda por sincronismo de diretorios. É
pendrive, usbdisk, /home do lap e do desktop... O Rsync faz sincronismo de
mão unica, enquanto o unison faz de mão dupla. O Rsync é um otimo programa e
o utilizo em backups e sincronismos de repositorios... Porem para sincronizar
meu pen drive com um diretorio no Desktop ou para sincronizar o meu disco
USB com o espelho dele no Desk Top - ou seja lugares onde posso alterar
qualquer um dos lados - prefiro o unison.
Pagina do Projeto: http://www.cis.upenn.edu/~bcpierce/unison/
USO:
unison caminho1 caminho2 [opções]
Opções interessantes:
- -batch (Não realiza nenhuma pergunta)
Comandos interativos (Sem o uso do --batch)
f |
segue a sujestão do unison (se existir) |
I |
ignora este caminho permanentemente |
E |
ignora permanentemente os arquivos com essa extensão |
N |
ignora permanentemente os caminhos com esse final |
m |
Junta as duas versões |
d |
Mostra diferenças |
x |
Mostra detalhes |
L |
list all suggested changes tersely |
l |
lista as alterações sujeridas com detalhes |
p or b |
Volta para o item anterior |
g |
Inicia propagação imediatamente. |
q |
sai sem propagar alteração alguma |
/ |
pula esse item |
> ou . |
propaga da esquerda para direita |
< ou , |
propaga da direita para esquerda |
Por exemplo, para sincronizar meu pen drive eu executaria o seguinte comando:
unison /media/maximo /home/maximo/backuppen
Na primeira vez ele vai perguntar bastante (a menos que se use o -b), porem depois é so nos arquivos alterados.
Uso remoto via SSH
Que tal sincronizar o seu diretorio de apostilas do lap top com o de casa??
Para sincronismo com o mesmo usuario local, eu uso o seguinte comando:
unison /caminholocal ssh://remotehost//caminho/remoto
Exemplo
unison -batch /home/maximo/ebooks ssh://adilson//home/adilson/ebooks
Sim, parece um erro mas não é: ha uma barra separando o host e o caminho (que tambem começa com uma barra).
Para sincronização com outro usuário
Para sincronização remota via ssh a partir de outro usuário especificado, no caso do exemplo o usuário fulano.
unison /caminholocal ssh://usuario@remotehost//caminho/remoto
Exemplo:
unison /tmp/diretoriolocal ssh://fulano@192.168.1.3//tmp/diretorio/remoto
Caso você vá sincronizar maquinas em redes usando ssh que roda em portas não padrão (Vai um virtua ai?):
unison /caminholocal ssh://user@host:port//path/to/directory
Exemplo
unison /local/diretorio ssh://fulano@192.168.1.3:30022//caminho/remoto
Acesso com chave ssh especifica: Parametros adicionais
Parametros adicionais do SSH podem ser adicionados com o -sshargs. Muito util para scripts mais seguros é usar uma chave especifica para aquele script. Adicione o parametro e os valores abaixo para usar a chave2 na conexão.
-sshargs '-i /home/usuario/.ssh/chave2'
Exemplo:
unison -batch -sshargs '-i /home/zico/.ssh/chaveparabackup_rsa' /home/zico/diretorio ssh://zico@zico.com.br:20022//home/zico/diretorio
Abraço a todos, e não deixem de fazer um espelho de seu pendrive no desktop,
alem de testar seus backups. Perder dados as vezes dói mais que perder o
proprio hardware que o carrega, e como disse um professor muito querido me
ensinou a máxima: "Pior que não ter backup é achar que tem!"