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.