Pesquisa de site

Unison - Uma ferramenta definitiva de sincronização de arquivos locais/remotos para Linux


Sincronização de arquivos é o processo de espelhamento de arquivos e dados em dois ou mais locais de acordo com determinados protocolos. Arquivos e dados são o que há de mais valioso nesta era da Tecnologia da Informação. Através da Sincronização de Arquivos, garantimos que uma ou mais cópias de nossos dados inestimáveis estejam sempre disponíveis em caso de desastre de qualquer tipo ou quando precisarmos trabalhar em vários locais.

Um bom sincronizador de arquivos deve ter os recursos listados abaixo:

  1. Sincronização criptográfica, como implementação de segurança.
  2. Uma boa taxa de compressão de dados.
  3. Uma implementação de algoritmo perfeita para verificar a duplicação de dados.
  4. Acompanhe as alterações na origem do arquivo.
  5. Sincronização agendada.

Uma dessas ferramentas é o Unison. Aqui neste artigo iremos discutir “Unison” em detalhes, juntamente com seus recursos, funcionalidades e muito mais.

O que é uníssono?

Unison é um aplicativo de sincronização de arquivos multiplataforma que é útil na sincronização de dados entre dois ou mais locais, sejam computadores ou dispositivos de armazenamento.

Recursos do Unisson

  1. Lançado sob Licença Pública Geral (GPL)
  2. Código aberto e plataforma cruzada disponível para (Linux, Unix, BSD, Windows, Mac)
  3. Disponibilize a mesma versão do arquivo em máquinas diferentes, independentemente do local da última modificação.
  4. É possível sincronizar entre plataformas, ou seja, uma máquina Windows pode ser sincronizada em um servidor *nix.
  5. Comunique-se através do protocolo padrão TCP/IP, ou seja, possível entre quaisquer duas máquinas pela Internet, independentemente da localização geográfica.
  6. Gerenciamento Inteligente – Mostra conflito quando um arquivo foi modificado em ambas as fontes e mostra ao usuário.
  7. Conexão SSH segura – Uma transferência de dados criptografada.
  8. O algoritmo rsync é implantado aqui, apenas a parte modificada é transferida e substituída. Por isso. é rápido na execução e manutenção.
  9. Robusto por natureza
  10. Escrito em linguagem de programação “Objective Caml”.
  11. Amadurecido e estável, sem necessidade de desenvolvimento ativo.
  12. É um programa de nível de usuário, ou seja, o aplicativo não precisa de privilégios de superusuário.
  13. É conhecido por suas especificações claras e precisas.

Instalação do Unison no Linux

A versão estável atual (Unison-2.40.102) pode ser baixada no link abaixo:

Baixe Unison 2.40.102 Estável

Alternativamente, também podemos baixar e instalar “Unison”, se estiver disponível no repositório usando o comando apt ou yum conforme mostrado abaixo.

No Debian/Ubuntu/Linux Mint

Abra o terminal usando “Ctr+Alt+T” e execute o seguinte comando no terminal.

sudo apt-get install unison
No RHEL/CentOS/Fedora

Primeiro, habilite o repositório EPEL e instale usando o seguinte comando.

sudo yum install unison

NOTA: O comando acima instalará o Unison sem GUI. Se você precisar instalar o Unison com suporte GUI, instale o pacote ‘unison-gtk’ (disponível apenas para distros baseadas em Debian) usando o comando abaixo.

apt-get install unison-gtk

Como usar o uníssono

Unison é usado para sincronizar um conjunto de arquivos em uma árvore de diretórios para outro local com estrutura semelhante, que pode ser um host local ou remoto.

Sincronização de arquivos locais

Vamoscriar 5 arquivos em sua área de trabalho e depois sincronizá-los com uma pasta chamada ‘desk-back‘ em seu diretório pessoal.

cd Desktop/
touch 1.txt 2.txt 3.txt 4.txt 5.txt
ls

1.txt 2.txt 3.txt 4.txt 5.txt
mkdir /home/server/desk-back

Agora execute o comando ‘unison’ para sincronizar os arquivos da sua área de trabalho em ‘desk-back‘ em seu diretório inicial.

unison /home/server/Desktop /home/server/desk-back/
Saída de amostra
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/home/server/Desktop
/home/server/desk-back
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.[]
...
...
Saving synchronizer state
Synchronization complete at 13:52:15 (5 items transferred, 0 skipped, 0 failed)

Agora verifique a localização /home/server/desk-back, se o processo de sincronização foi bem sucedido?

cd /home/server/desk-back/
ls

1.txt 2.txt 3.txt 4.txt 5.txt

Sincronização remota de arquivos

Para sincronização remota de arquivos, você deve ter a mesma versão do Unison instalada no servidor local e remoto. Execute o comando a seguir para verificar se o unison local pode iniciar e se conectar ao servidor unison remoto.

unison -testServer /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/
Saída de amostra
Contacting server...
[email 's password: 
Connected [//tecmint//home/ravisaive/Desktop -> //tecmint//home/ravisaive/Desktop]

Os resultados acima indicam que o servidor remoto foi conectado com sucesso, agora sincronize os arquivos usando o comando abaixo.

unison -batch /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/

Executando GUI Unison

A primeira etapa é definir o perfil, o que requer que você defina informações básicas como nome de um perfil e o que deseja sincronizar, local de origem e destino, etc.

Para iniciar a GUI do Unison, execute o seguinte comando no terminal.

unison-gtk

Depois que o perfil for criado e a origem e o destino forem inseridos, seremos recebidos na janela abaixo.

Basta selecionar todos os arquivos e clicar em OK. Os arquivos começarão a ser sincronizados em ambas as direções, com base no carimbo de data/hora da última atualização.

Conclusão

Unison é uma ferramenta maravilhosa que torna possível ter sincronização personalizada de qualquer maneira (bidirecional), disponível tanto na GUI quanto no utilitário de linha de comando. Unison fornece o que promete. Esta ferramenta é muito fácil de usar e não requer esforço extra. Como testador, fiquei muito impressionado com este aplicativo. Possui muitos recursos que podem ser implementados conforme necessário. Para obter mais informações, leia o manual uníssono.

Leia também:

  1. Rsync (sincronização remota) de arquivos
  2. Sincronizador de arquivos Rsnapshot (baseado em Rsync)

É tudo por agora. Em breve estarei aqui novamente com outro artigo interessante. Até então fique atento e conectado ao Tecmint. Não se esqueça de nos fornecer seus valiosos comentários em nossa seção de comentários.