Sincronizando servidores com RSYNC.
Neste tutorial estaremos mostrando um exemplo de como usar o Rsync e o OpenSSH como ferramenta para sincronia de servidores.
A plataforma que estaremos usando como exemplo ? a Gnu/Linux e a distribui??o ? a Debian 3.0 R2.
O conte?do a ser sincronizado ser? a pasta p?blica do servidor Apache remoto.
Sincronizando servidores com RSYNC.
Neste tutorial estaremos mostrando um exemplo de como usar o Rsync e o OpenSSH como ferramenta para sincronia de servidores.
A plataforma que estaremos usando como exemplo ? a Gnu/Linux e a distribui??o ? a Debian 3.0 R2.
O conte?do a ser sincronizado ser? a pasta p?blica do servidor Apache remoto.
1?) PASSO
Primeiramente iremos configurar o RSYNC e o servidor OpenSSH em nosso servidor, para isso verifique a presen?a dos pacotes com o comando:
#dpkg -l rsync ssh
caso a sa?da seja:
ii ssh
ii rsync , isto significa que os pacotes est?o atualmente instalados em seu servidor, do contr?rio os pacotes poder?o ser instalador com o comando apt-get usando os mirror:
deb http://security.debian.org/ stable/updates main
depois use:
apt-get update ; apt-get install rsync ssh
2?) PASSO
O segundo passo consiste em criar as chaves RSA de 1024 bits que ir?o implementar o sistema de seguran?a em nosso sistema sem a necessidade de aut?ntica??o manual.
Para isso usaremos o comando ssh-keygen para gerar a chave p?blica RSA:
# ssh-keygen -t rsa -b 1024
* Ser? importante lembrar que para gerarmos uma chave que aut?ntique autom?ticamente devemos chamar o comando anterior e teclar enter em todas as quest?es feitas pelo Ssh-keygen n?o preenchendo nenhum campo.
Feito isso ser? criado um arquivos dentro da pasta .ssh do usu?rio com o nome id_rsa.pub.
Copie est? chave para o outro servidor; uma dica seria o comando scp:
#scp ~admin/.ssh/id_rsa.pub admin@servidor-remoto:~admin/.ssh/
depois copie o conte?do da chave RSA para dentro do arquivo authorized_key remoto; uma dica seria:
#ssh admin@servidor-remoto 'cat ~admin/.ssh/id_rsa.pub >> ~admin/.ssh/authorized_key'
Reinicie o servidor remoto caso n?o funcionar na primeira vez.
3?) PASSO
O terceiro passo consiste em verificar as permiss?es para que o usu?rio admin consiga aut?nticar e executar as tarefas de c?pia em nosso servidor.
Primeiramente sugiro que seja criado um usu?rio admin e que este usu?rio seja adicionado nos grupos dos quais os volumes ser?o copiados.
Ex:
#adduser admin, depois verifique as entradas de permissionamento em seu servidor para os volumes que ser?o sincronizados.
No exemplo a seguir, sincronizaremos todas as pastas p?blicas de um servidor Apache remoto para nosso servidor em copiando os arquivos para a pasta local /WWW-BAK, para isso escreveremos um script que rodar? na m?quina local com o seguinte conte?do:
#!/bin/sh
#
DATA=`date +%d-%m-%Y`
INIT_TIME=`date +%H:%M`
END_TIME=`date +%H:%M`
echo "Iniciando backup do dia $DATA em: $INIT_TIME" > REPORT-$DATA.log
rsync -Cravz --progress --partial --delete-excluded admin@servidor-remoto:/var/www /WWW-BAK
echo "Finalizando o backup em: $END_TIME" >> REPORT-$DATA.log
Salve o script com o nome sincronia-apache.sh na pasta /root/admin/
4?) PASSO
Criaremos agora um rotina no Crontab que todos os dias as 0:00 horas o script ser? executado e assim ir? sincronizar nosso conte?do remoto do servidor Apache.
para isso:
# crontab -e
0 0 * * * sh /root/admin/sincronia-apache.sh
Salve a rotina e saia do aplicativo.
Com isso voc? ter? um sistema simples de sincronia segura de conte?do entre servidores usando a ferramenta RSYNC e OpenSSH.
Caso queira um script mais robusto que crie logs di?rios e ainda notifica via e-mail sobre a rotina de sincronia baixe o script que escrevi em:
http://fsbox.org/repositorio/scripts/shell/sync-server.tar.gz
a instala??o se d? atrav?s do script install.sh e a documenta??o poder? ser verificada no documento INSTALL.
Qualquer d?vida ou sugest?o entre em contato.
[email protected].
Obrigado.
?ltima Atualiza??o: ( 28 09 2004 )
Neste tutorial estaremos mostrando um exemplo de como usar o Rsync e o OpenSSH como ferramenta para sincronia de servidores.
A plataforma que estaremos usando como exemplo ? a Gnu/Linux e a distribui??o ? a Debian 3.0 R2.
O conte?do a ser sincronizado ser? a pasta p?blica do servidor Apache remoto.
Sincronizando servidores com RSYNC.
Neste tutorial estaremos mostrando um exemplo de como usar o Rsync e o OpenSSH como ferramenta para sincronia de servidores.
A plataforma que estaremos usando como exemplo ? a Gnu/Linux e a distribui??o ? a Debian 3.0 R2.
O conte?do a ser sincronizado ser? a pasta p?blica do servidor Apache remoto.
1?) PASSO
Primeiramente iremos configurar o RSYNC e o servidor OpenSSH em nosso servidor, para isso verifique a presen?a dos pacotes com o comando:
#dpkg -l rsync ssh
caso a sa?da seja:
ii ssh
ii rsync , isto significa que os pacotes est?o atualmente instalados em seu servidor, do contr?rio os pacotes poder?o ser instalador com o comando apt-get usando os mirror:
deb http://security.debian.org/ stable/updates main
depois use:
apt-get update ; apt-get install rsync ssh
2?) PASSO
O segundo passo consiste em criar as chaves RSA de 1024 bits que ir?o implementar o sistema de seguran?a em nosso sistema sem a necessidade de aut?ntica??o manual.
Para isso usaremos o comando ssh-keygen para gerar a chave p?blica RSA:
# ssh-keygen -t rsa -b 1024
* Ser? importante lembrar que para gerarmos uma chave que aut?ntique autom?ticamente devemos chamar o comando anterior e teclar enter em todas as quest?es feitas pelo Ssh-keygen n?o preenchendo nenhum campo.
Feito isso ser? criado um arquivos dentro da pasta .ssh do usu?rio com o nome id_rsa.pub.
Copie est? chave para o outro servidor; uma dica seria o comando scp:
#scp ~admin/.ssh/id_rsa.pub admin@servidor-remoto:~admin/.ssh/
depois copie o conte?do da chave RSA para dentro do arquivo authorized_key remoto; uma dica seria:
#ssh admin@servidor-remoto 'cat ~admin/.ssh/id_rsa.pub >> ~admin/.ssh/authorized_key'
Reinicie o servidor remoto caso n?o funcionar na primeira vez.
3?) PASSO
O terceiro passo consiste em verificar as permiss?es para que o usu?rio admin consiga aut?nticar e executar as tarefas de c?pia em nosso servidor.
Primeiramente sugiro que seja criado um usu?rio admin e que este usu?rio seja adicionado nos grupos dos quais os volumes ser?o copiados.
Ex:
#adduser admin, depois verifique as entradas de permissionamento em seu servidor para os volumes que ser?o sincronizados.
No exemplo a seguir, sincronizaremos todas as pastas p?blicas de um servidor Apache remoto para nosso servidor em copiando os arquivos para a pasta local /WWW-BAK, para isso escreveremos um script que rodar? na m?quina local com o seguinte conte?do:
#!/bin/sh
#
DATA=`date +%d-%m-%Y`
INIT_TIME=`date +%H:%M`
END_TIME=`date +%H:%M`
echo "Iniciando backup do dia $DATA em: $INIT_TIME" > REPORT-$DATA.log
rsync -Cravz --progress --partial --delete-excluded admin@servidor-remoto:/var/www /WWW-BAK
echo "Finalizando o backup em: $END_TIME" >> REPORT-$DATA.log
Salve o script com o nome sincronia-apache.sh na pasta /root/admin/
4?) PASSO
Criaremos agora um rotina no Crontab que todos os dias as 0:00 horas o script ser? executado e assim ir? sincronizar nosso conte?do remoto do servidor Apache.
para isso:
# crontab -e
0 0 * * * sh /root/admin/sincronia-apache.sh
Salve a rotina e saia do aplicativo.
Com isso voc? ter? um sistema simples de sincronia segura de conte?do entre servidores usando a ferramenta RSYNC e OpenSSH.
Caso queira um script mais robusto que crie logs di?rios e ainda notifica via e-mail sobre a rotina de sincronia baixe o script que escrevi em:
http://fsbox.org/repositorio/scripts/shell/sync-server.tar.gz
a instala??o se d? atrav?s do script install.sh e a documenta??o poder? ser verificada no documento INSTALL.
Qualquer d?vida ou sugest?o entre em contato.
[email protected].
Obrigado.
?ltima Atualiza??o: ( 28 09 2004 )
Seja Membro Gratuítamente
Assine a newsletter para receber em seu email as publicações atualizadas neste blog