Jordan Miguel Posted August 16, 2012 Share Posted August 16, 2012 Rsync é um programa de computador, utilizado em sistemas Unix, para sincronização de arquivos e diretórios (pastas) entre duas localidades diferentes enquanto minimiza a transferência de dados. Iremos utilizar este método para efetuar a configuração do backup remoto em seu servidor. Lembrando que para isto, é necessário que você tem acesso ao root em ambos os servidores(Servidor Principal e Servidor de Backup). É muito útil para quem utiliza de restaurações constantes e precisa manter uma cópia dos backups no próprio servidor além da cópia remota, evitando assim, a transferência do backup sempre que necessária a restauração. Primeiramente, acesse o SSH do servidor principal e adicione o IP do servidor de backup a lista de excessões para evitar o bloqueio através do comando: csf -a IPDOSERVIDOR Então, altere o diretório para onde iremos gerar a chave necessária para autenticação no servidor de backup e gere a chave com o nome desejado(Se o diretório não existir, você deve criar): cd ~/.ssh ssh-keygen -f NOMEDACHAVE -t rsa -N ” Agora, vamos buscar o conteúdo da chave pública para adicionar a autorização no servidor de backup: cat NOMEDACHAVE.pub Copie o conteúdo que aparecer e acesse o SSH do servidor de backup. Entre no mesmo diretório e crie/edite um arquivo chamado authorized_keys: cd ~/.ssh nano authorized_keys Cole o conteúdo neste arquivo, e para salvar digite Ctrl + O -> ENTER -> Ctrl + X. Retorne ao servidor principal e efetue o teste, na primeira execução, será necessário digitar yes e depois enter. O comando para sincronizar os backups diários será o seguinte: rsync -av -e “ssh -i /root/.ssh/NOMEDACHAVE -p PORTA_SSH_SERV_BACKUP” /backup/cpbackup/daily/*.tar.gz root@IP_SERVIDOR_BACKUP:/DIRETORIO/ Onde as variáveis significam: PORTA_SSH_SERV_BACKUP = Porta SSH do servidor de backup IP_SERVIDOR_BACKUP = IP do servidor de backup DIRETORIO = Diretório onde o backup será salvo Se funcionar perfeitamente, basta agora adicionar ao crontab da seguinte maneira no servidor PRINCIPAL: crontab -e Digite page down até alcançar o final do arquivo, MAXIMIZE A JANELA DO SSH(IMPORTANTE), e adicione a linha: 0 6 * * * rsync -a -e “ssh -i /root/.ssh/NOMEDACHAVE -p PORTA_SSH_SERV_BACKUP” /backup/cpbackup/daily/*.tar.gz root@IP_SERVIDOR_BACKUP:/DIRETORIO/ O horário recomendado é as 6 horas, onde geralmente todos os backups já foram gerados e não correm risco de serem transferidos corrompidos. DICA POR ZANIN(não testada) = Você pode alterar o arquivo /scripts/postcpbackup e o comando na ultima linha para o que o rsync seja efetuado após a finalização dos backups. Fonte e criação: http://blog.brasilho...-via-rsync.html 2 Link to comment Share on other sites More sharing options...
zanin Posted August 16, 2012 Share Posted August 16, 2012 Ao invés de usar a cron, vc pode criar o script no arquivo: /scripts/postcpbackup Como informado em: http://docs.cpanel.net/twiki/bin/view/SoftwareDevelopmentKit/ScriptHooks Link to comment Share on other sites More sharing options...
Jordan Miguel Posted August 16, 2012 Author Share Posted August 16, 2012 Ao invés de usar a cron, vc pode criar o script no arquivo: /scripts/postcpbackup Como informado em: http://docs.cpanel.n...Kit/ScriptHooks Ótima dica.. Não havia pensado nisso. Foi agregado ao post. Link to comment Share on other sites More sharing options...
JMonteiro Posted August 16, 2012 Share Posted August 16, 2012 Hoje utilizo o backup via ftp do próprio WHM, e sempre tive interesse em realizar via rsync pois li que consome menos recursos. Minha dúvida é, preciso de alguma configuração no servidor que vai receber os backups? (hoje tem apenas o servidor ftp + webmin pra facilitar) Qual porta devo liberar nos servidores? Link to comment Share on other sites More sharing options...
cupertinobr Posted August 16, 2012 Share Posted August 16, 2012 Parabéns Jordan! Link to comment Share on other sites More sharing options...
Jordan Miguel Posted August 16, 2012 Author Share Posted August 16, 2012 Hoje utilizo o backup via ftp do próprio WHM, e sempre tive interesse em realizar via rsync pois li que consome menos recursos. Minha dúvida é, preciso de alguma configuração no servidor que vai receber os backups? (hoje tem apenas o servidor ftp + webmin pra facilitar) Qual porta devo liberar nos servidores? JMonteiro, não é necessária nenhuma configuração, apenas a autorização da chave através do authorized_keys.. Inclusive o servidor pode estar limpo, sem nenhum painel/serviço web instalado, apenas com o CentOS puro. Sobre a porta, não é necessário liberar portas, apenas no servidor que enviará o backup, você irá liberar o IP do servidor de backup. Link to comment Share on other sites More sharing options...
JMonteiro Posted August 16, 2012 Share Posted August 16, 2012 Interessante, obrigado pelo tutorial. Vou testar em breve. Link to comment Share on other sites More sharing options...
Murilo H Posted August 17, 2012 Share Posted August 17, 2012 Obrigado vou roda um vps para testar também ! Link to comment Share on other sites More sharing options...
Supernova Posted August 24, 2012 Share Posted August 24, 2012 O meu deu este erro: buffer_get_ret: trying to get more bytes 4 than in buffer 0 buffer_get_int: buffer error rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6] Link to comment Share on other sites More sharing options...
zanin Posted August 24, 2012 Share Posted August 24, 2012 O meu deu este erro: buffer_get_ret: trying to get more bytes 4 than in buffer 0 buffer_get_int: buffer error rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6] Possivelmente vc está criando a chave de forma errada. Link to comment Share on other sites More sharing options...
Recommended Posts