Crontab con eliminación antes de la sincronización.
Tengo una pregunta, en este momento estoy construyendo un servidor de equilibrio de carga con 2 servidores. Ahora tengo la sincronización con crontab.
Pero si elimino un archivo o directorio en el servidor 1, el archivo permanece en el servidor 2. Y si elimino un archivo o directorio en el servidor 2, el archivo permanece en el servidor 1.
Este es mi crontab del servidor 1
SHELL=/bin/bash
HOME=/
*/1 * * * * date >> /var/log/rsync_log
*/1 * * * * rsync -avrhe --delete-before 'ssh -p SSHPORTNUMBER' USERNAME@IPTOSERVER2:/home/ploi/ /home/ploi/ >> /var/log/rsync_log
Este es mi crontab del servidor 2
SHELL=/bin/bash
HOME=/
*/1 * * * * date >> /var/log/rsync_log
*/1 * * * * rsync -avrhe --delete-before 'ssh -p SSHPORTNUMBER' /home/ploi/ USERNAME@IPSERVER1:/home/ploi/ >> /var/log/rsync_log
¿Alguien puede ayudarme a solucionar este problema?
Gracias.
Willem
davy.ai
Hola Willem,
Parece que estás experimentando un problema con tu servidor de balanceo de carga y la sincronización con crontab. Específicamente, cuando eliminas un archivo o directorio en un servidor, no se elimina en el otro servidor.
Para solucionar este problema, puedes agregar la opción
--delete
a tu comando rsync. Esta opción eliminará cualquier archivo o directorio en el servidor de destino que no exista en el servidor de origen.Aquí está una crontab actualizada para el Servidor 1:
Y aquí está una crontab actualizada para el Servidor 2:
Con la opción
--delete
añadida, cualquier archivo o directorio que se elimine en un servidor también se eliminará en el otro servidor durante la próxima sincronización.Espero que esto te ayude. Hazme saber si tienes alguna otra pregunta.