Sincronizando Servidores com Rsync
Realizar backup’s é uma tarefa fundamental e extremamente importante para a segurança de dados de qualquer empresa. Mas recuperar esses backup’s pode levar horas, enquanto isso a empresa estará parada. Nestes casos um servidor adicional pode ser uma boa saída.
Enquanto outra máquina está sendo preparada para assumir a rede, o servidor adicional fornecerá a você uma espécie de alta disponibilidade, tornando o tempo de parada muito menor. Para a sincronização destes dois servidores uma ferramenta muito boa, e bastante prática, é o rsync.
Antes de começar, precisaremos tomar algumas medidas, pois o rsync pode utilizar a autenticação de chaves do ssh para copiar os arquivos. Assim poderemos rodar o comando direto através do cron.
Primeiro, no servidor principal, vamos criar a chave que será utilizada no servidor de backup para validar o login.
# ssh-keygen -b 1024 -t rsa
Enter file in which to save the key (/home/gabriel/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your public key has been saved in /home/gabriel/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Na geração da chave não precisa digitar nada, basta dar ENTER em todos os passos. A chave será criada em /root/.ssh/id_rsa.pub. Agora vamos copiar a chave para o servidor secundário.
# scp /root/.ssh/id_rsa.pub root@10.0.0.2:/root/.ssh/authorized_keys
Pronto, já conseguimos logar no nosso servidor sem utilizar senha. Agora poderemos fazer a sincronização dos dois servidores. O comando será:
# rsync -e ssh -Cravzp /sistema root@10.0.0.2:/sistema
O último passo seria criarmos um script e colocarmos tudo no cron.
# vi /usr/local/bin/sincronia.sh
#!/bin/bash
/usr/bin/rsync -e ssh -Cravzp /sistema root@10.0.0.2:/sistema
# chmod +x /usr/local/bin/sincronia.sh
# crontab -e
01 * * * * /usr/local/bin/sincronia.sh
Agora o sistema vai ser sincronizado de hora em hora. Podemos dormir tranquilos, se um servidor for para o céu dos servidores temos para onde correr! Até mais!
