Como usar o uníssono para sincronizar arquivos entre servidores

Como usar o uníssono para sincronizar arquivos entre servidores
Este tutorial mostrará como configurar e usar a ferramenta de sincronização de arquivos unison em sistemas Debian. Usando uníssono, você pode sincronizar arquivos entre dois discos ou diretórios diferentes no mesmo sistema ou dois outros sistemas na rede.

O que é uníssono?

A tecnologia Unison desenvolvida por Benjamin C Pierce sob a licença GPL permite que os usuários sincronizem duas instâncias de arquivo único no mesmo sistema, mas discos diferentes ou dois outros sistemas.

Unison permite que você mantenha uma versão atualizada e idêntica do mesmo arquivo ou diretório. É utilizável em uma ampla variedade de contextos, como o SSH, permitindo a transferência segura de dados entre dispositivos ou diretórios.

A ferramenta Unison é uma plataforma cruzada, permitindo que os usuários sincronizem arquivos e diretórios entre sistemas que executam os mesmos sistemas operacionais diferentes ou diferentes. Por exemplo, você pode sincronizar arquivos de um sistema Linux a um sistema BSD. Devido a seus recursos de segurança, a uníssono sincroniza arquivos e diretórios e aplica direitos de propriedade e permissões em ambos os sistemas.

A ferramenta Unison é desenvolvida com a segurança em mente e pode sobreviver a falhas onde as interrupções acontecem entre os pontos de sincronização. Se o Unison detectar conflitos de arquivos e diretórios, ele relata os conflitos existentes e permitir que os usuários selecionem qual versão dos arquivos deve se aplicar.

A uníssono pode funcionar com redes de suportes-llow, tornando-a uma ferramenta muito eficiente para o uso da largura de banda. Ele apenas sincroniza peças e diretórios que mudaram, impedindo a carga pesada e atualizando o processo de sincronização com muita facilidade e rapidez.

Apesar de seu contexto de uso primário, o uníssono é uma ferramenta poderosa que pode ser modificada para criar uma ampla gama de casos de uso.

Este tutorial discutirá como instalar e configurar o sistema de sincronização de arquivos unison no Debian 10.

Como instalar o Unison no Debian 10

O uníssono é uma ferramenta popular; Por causa disso, está disponível em repositórios oficiais das principais distribuições Linux.

Para instalar a versão da linha de comando do Unison no Debian, comece a atualizar o sistema:

Atualização sudo apt-get && sudo apt-get

Em seguida, use o Apt simples para comandar para instalar a ferramenta.

sudo apt -get install unison -y

Se você tiver um ambiente de desktop instalado no seu sistema e preferir uma versão da GUI da ferramenta, instale o Unison-GTK usando o comando:

sudo apt-get install unison-gtk

OBSERVAÇÃO: Certifique -se de instalar o uníssono nas duas versões dos sistemas que você deseja sincronizar entre eles. Para compatibilidade e minimizar as chances de erros, é melhor ter a mesma versão do uníssono em ambos os sistemas.

Como sincronizar arquivos com uníssono

O Unison nos fornece maneiras de sincronizar arquivos e diretórios entre máquinas locais e máquinas remotas usando conexões de soquete direto e ssh. Como estamos sincronizando entre dois servidores Debian, ignoraremos a sincronização da máquina local.

Unison Remote and Remote Sync via SSH

Para sincronizar arquivos e diretórios entre máquinas remotas, você precisará instalar uníssono nos dois sistemas, ter acesso SSH aos sistemas e seus endereços IP.

Você também pode usar sua máquina local como um servidor e o dispositivo remoto como o outro servidor.

  • 192.168.0.200 - Server1
  • 192.168.0.201 - Server2

O primeiro passo é criar uma chave pública e privada no servidor remoto1.

ssh -keygen -t rsa
Gerando par de chaves RSA pública/privada.
Digite o arquivo para salvar a chave (/home/csalem/.ssh/id_rsa):
Diretório criado '/home/csalem/.ssh '.
Digite a senha (vazia sem senha):
Digite a mesma senha novamente:
Sua identificação foi salva em/home/csalem/.ssh/id_rsa.
Sua chave pública foi salva em/home/csalem/.ssh/id_rsa.bar.
A principal impressão digital é:
Sha256: 4p5yueBea5lrinzqpgWhrvHss0tnliil70a0q2mfcs8 csalem@Debian-PC
A imagem de arte aleatória da chave é:
+---[RSA 2048]----+
|+/@=… |
| =*O == |
| ++ OE . |
|+*o… |
| O+= = . S |
|++. o . |
| oo… o |
|.o . = . |
|… O o |
+----[SHA256]-----+

Pule rapidamente o processo de geração de chaves e salve o arquivo. Por favor, não adicione uma senha porque pode dificultar a sincronização não monitorada entre os servidores.

Em seguida, copie a chave do servidor1 para o Server2 usando o comando:

SSH-COPY-ID 192.168.0.201

Agora que você tem configuração SSH em ambos os sistemas, você pode iniciar o uníssono para sincronizar arquivos e diretórios.

Vamos testar o uso do uníssono em ambos os servidores, criando o diretório que sincronizamos no Server1:

mkdir -p /dir1

No Server2, crie um diretório como acima

mkdir -p /dir2

Como mencionado, o uníssono respeita as permissões de usuário. Portanto, é melhor mudar as permissões e a propriedade de ambos os diretórios para garantir que ambos os diretórios tenham privilégios de leitura e gravação.

Em seguida, adicione todos os dados que você deseja sincronizar entre os servidores em DIR1. Por exemplo, adicione alguns arquivos zip.

sudo mv ~/documentos.zip /dir1

Tendo os arquivos, queremos sincronizar no diretório certo, executar o comando unison para sincronizar do servidor um como:

uníssono/dir1 ssh: // 192.168.0.201 // dir2

No primeiro lançamento do uníssono, você receberá um aviso de que o processo de sincronização pode demorar um pouco. Se você tem arquivos grandes nos diretórios, isso pode demorar um pouco, mas como estamos usando apenas para fins de teste, deve ser relativamente rápido.

Pressione Enter para iniciar o processo de sincronização. Depois que o processo de sincronização for concluído, vá para o Server2, navegue para Dir2 e liste o conteúdo do diretório como:

CD /DIR2 && ls -la
-RW-R-R-- 1 raiz da raiz 436 5 de janeiro 12:57 Documentos.fecho eclair

Modificando a configuração do uníssono

Na maioria dos casos, não queremos sincronizar arquivos interativamente entre esses servidores, pois o processo é repetitivo e ineficiente. Podemos editar o arquivo de configuração uníssono para permitir arquivos de sincronização automática.

Use o comando abaixo para editar o arquivo de configuração padrão:

sudo vi ~//.uníssono/padrão.Prf

No arquivo, adicione as seguintes linhas:

Auto = True
lote = true

As linhas acima desativam os avisos ao sincronizar arquivos, automatizando o processo.

Configurando uníssono Cronjob

Uma coisa certa é que os programadores são muito avessos a fazer as coisas manualmente, especialmente quando é possível automatizar, o que é o caso aqui. Podemos configurar um cronjob para que o uníssono realize a sincronização automaticamente.

No Server1, crie um script simples para executar o comando unison como:

sudo touch/usr/bin/unonncron && sudo vi/usr/bin/unonncron

No arquivo, comece com um shebang e adicione o comando unison Sync:

#!/bin/bash/
uníssono/dir1 ssh: // 192.168.0.201 // dir2

Como sempre, faça o script executar permissões:

sudo chmod 755/usr/bin/unonncron

Agora edite seu arquivo Cronjob com Crontab:

sudo crontab -e

Se esta é a sua primeira vez que edita Crontab-espero que não seja escolhido seu editor e insira a seguinte linha para sincronizar com uníssono a cada 1 hora:

*/60 * * * */usr/bin/unonncron &>/dev/null

Você também pode configurar o crontab para executar em horários específicos do dia. Você também não precisa usar um script e pode usar um comando bruto no Crontab.

Conclusão

Este tutorial mostrou como instalar e configurar o uníssono em um sistema Debian para sincronização de arquivos e diretórios.

Embora este guia rápido possa ajudar você a começar, você pode aprender mais usando páginas do Unison Man (páginas manuais) ou a documentação oficial usando o recurso fornecido abaixo:

  • https: // www.cis.upenn.edu/~ bcpierce/uníssono/
  • https: // www.cis.upenn.Edu.html