Sincronización entre servidores

Dado un esquema de sevidor primario y secundario que deben tener la misma información por si el primero fallase creamos el siguiente script de sincronización remota usando rsync (los servidores tienen que ser confiables vía ssh):

#!/usr/local/bin/bash
 
IP=192.168.0.1
LOGDIR=/var/log/backup
LOGNAME=sincro.`date '+%d.%m.%Y_%H:%M'`.log
 
CMD_SCP=/usr/bin/scp
CMD_RSYNC=/usr/local/bin/rsync
 
echo -e "###           APACHE          ###"
echo -e "#################################"
echo -e "APACHE:" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando httpd.conf"
$CMD_SCP root@$IP:/usr/local/etc/apache/httpd.conf /usr/local/etc/apache/
echo -e " * httpd.conf" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando php.ini"
$CMD_SCP root@$IP:/usr/local/etc/php.ini /usr/local/etc/
echo -e " * php.ini" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando vhosts.inc"
$CMD_SCP -r root@$IP:/usr/local/etc/apache/*.inc /usr/local/etc/apache/
echo -e " * vhosts.inc" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando access.conf"
$CMD_SCP root@$IP:/usr/local/etc/apache/access.conf /usr/local/etc/apache/
echo -e " * access.conf" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando users"
$CMD_SCP root@$IP:/usr/local/etc/apache/users /usr/local/etc/apache/
echo -e " * users" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando htdocs/"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/usr/local/apache/htdocs/ /usr/local/apache/htdocs/
echo -e " * htdocs" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando cacti/"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/usr/local/share/cacti/ /usr/local/share/cacti/
echo -e " * cacti" >> $LOGDIR/$LOGNAME
 
echo -e "Reiniciando Apache"
/usr/local/etc/rc.d/apache.sh restart
echo -e " * reinicio de apache" >> $LOGDIR/$LOGNAME
 
echo -e "###            MySQL          ###"
echo -e "#################################"
 
echo -e "MySQL:" >> $LOGDIR/$LOGNAME
echo -e "Actualizando /var/db/mysql"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog --exclude=ib_logfile* --exclude=*.err --exclude=*.pid root@$IP:/var/db/mysql/ /var/db/mysql/
echo -e " * /var/db/mysql" >> $LOGDIR/$LOGNAME
 
echo -e "Reiniciando MySQL"
/usr/local/etc/rc.d/mysql-server restart
echo -e " * reinicio de mysql" >> $LOGDIR/$LOGNAME
 
echo -e "###           Correo          ###"
echo -e "#################################"
 
echo -e "Actualizando /var/spool/postfix/virtual/"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/var/spool/postfix/virtual/ /var/spool/postfix/virtual/
 
echo -e "Cambiando permisos a /var/spool/postfix/virtual/"
chown -R postfix:maildrop /var/spool/postfix/virtual/
 
 
echo -e "###            BIND           ###"
echo -e "#################################"
 
echo -e "BIND:" >> $LOGDIR/$LOGNAME
echo -e "Actualizando /etc/namedb/named.conf.local"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/etc/namedb/named.conf.local /etc/namedb/
echo -e " * /etc/namedb/named.conf.local" >> $LOGDIR/$LOGNAME
 
echo -e "Actualizando /etc/namedb/pri/"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/etc/namedb/pri/ /etc/namedb/pri/
echo -e " * /etc/namedb/pri" >> $LOGDIR/$LOGNAME
 
echo -e "Reiniciando named"
/etc/rc.d/named restart
echo -e " * reinicio de bind" >> $LOGDIR/$LOGNAME
 
#echo -e "###            LOGS           ###"
#echo -e "#################################"
 
#echo -e "Actualizando /var/log/apache/"
#$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/var/log/apache/ /var/log/apache/
 
 
echo -e "###         WEBALIZER         ###"
echo -e "#################################"
 
echo -e "WEBALIZER" >> $LOGDIR/$LOGNAME
echo -e "Actualizando /usr/local/etc/webalizer/"
$CMD_RSYNC -e ssh --progress --delete -lprtvvzog root@$IP:/usr/local/etc/webalizer/ /usr/local/etc/webalizer/
echo -e " * /usr/local/etc/webalizer" >> $LOGDIR/$LOGNAME
 
cat $LOGDIR/$LOGNAME | mail -s "$LOGNAME" r0sk10@gmail.com