TrOliveira

Programação PHP/Delphi, Banco de dados, VoIP e tudo mais relacionado a tecnologia.

Utilizando rsync para backup de dados automático entre servidores — outubro 15, 2009

Utilizando rsync para backup de dados automático entre servidores

Precisei sincronizar algumas pastas do nosso servidor principal para um servidor secundário. Utilizamos dois servidores Ubuntu 8.04. A solução veio com o Rsync, que já vem instalado por padrão nesta distribuição.

No computador destino criei a pasta /home/tiago/sincronizacao-servidor.

Lendo o man do rsync cheguei a conclusão que, para o meu caso, alguns parâmetros serão úteis:

v - verbose
-r, --recursive recurse into directories
-u, --update skip files that are newer on the receiver
-h, --human-readable output numbers in a human-readable format
-i, --itemize-changes output a change-summary for all updates
-P same as --partial --progress
-t Preserva a data original do arquivo
--delete-excluded

Então minha linha de comando ficaria mais ou menos assim:
rsync -vtruhiP --delete-excluded /var/www/ tiago@192.168.0.3:/home/tiago/sincronizacao-servidor/

Este comando funciona corretamente, mas pede a senha do usuário tiago na máquina destino. Como desejo que o rsync seja executado sem minha intervenção, precisarei de uma solução para isto.

Na máquina origem execute a seguinte instrução (no meu caso como usuário root):
ssh-keygen -t dsa -f ~/.ssh/id_dsa
E vá teclando enter nas opções que for pedido. Não informe nada.

Copie o arquivo criado /home/tiago/.ssh/id_dsa.pub para o servidor destino
scp /root/.ssh/id_dsa.pub tiago@192.168.0.3:/home/tiago/.ssh/

No servidor destino, execute o seguinte comando
cat /home/tiago/.ssh/id_dsa.pub >> /home/tiago/.ssh/authorized_keys

Execute o comando rsync novamente e veja que não é mais solicitado senha. Se ainda pedir, reinicie os servidores. Caso reinicie e continue pedindo, execute todos os passos anteriores deste post novamente.

Criei um script para executar o rsync e criar um log disso (script achei na internet, citarei as fontes no final)

vim executa_sincronizacao.sh
E inseri neste arquivo o seguinte código:

#!/bin/bash
INICIO=`date +%d/%m/%Y-%H:%M:%S`
LOG=/var/log/rsync/`date +%Y-%m-%d`.txt
echo " " >> $LOG
echo " " >> $LOG
echo "|--------------------------------------------" >> $LOG
echo " Sincronizacao iniciada em $INICIO" >> $LOG
rsync -vruhiP --delete-excluded /var/www/ tiago@192.168.0.3:/home/tiago/sincronizacao-servidor/ >> $LOG
FINAL=`date +%d/%m/%Y-%H:%M:%S`
echo " Sincronizacao Finalizada em $FINAL" >> $LOG
echo "|--------------------------------------------" >> $LOG
echo " " >> $LOG
echo " " >> $LOG


E dei permissão para execução no arquivo>
chmod 775 executa_sincronizacao.sh
Criei a pasta rsync dentro de /var/log/, para sejam criados os logs nesta pasta:
mkdir /var/log/rsync

Depois disso coloquei no crontab para executar o executa_sincronizacao.sh de tempos em tempos.

Espero que este post seja útil:

Fontes consultadas:
http://www.dicas-l.com.br/dicas-l/20041227.php
http://www.guiadohardware.net/comunidade/sincronizar-pastas/942084/

Instalando Internet Explorer no Ubuntu 7.10 / 9.04 (IE4Linux) — fevereiro 8, 2008

Instalando Internet Explorer no Ubuntu 7.10 / 9.04 (IE4Linux)

Para quem desenvolve aplicativos web, e não pode se dar ao luxo de ignorar o comportamento de seu site/software no Microsoft Internet Explorer, recomendo a instalação do IE4Linux. Abaixo o link do artigo de Duda Nogueira explicando passo a passo a instalação.

http://planeta.ubuntubrasil.org/post/1352

Eu testei este artigo no Ubuntu 7.10 e funcionou corretamente com o instalador gráfico. No instalador modo texto não consegui instalar.

UPDATE 20/08/2010
O link acima não é mais válido. Usei o artigo escrito por Vinícius Lima Bezerra que consta no site http://www.vivaolinux.com.br/dica/Internet-Explorer-no-Ubuntu e funcionou corretamente no 9.04

Espero que este post seja útil.