Vuelva a cargar la configuración de nginx cuando rsync actualice nginx.conf

Vuelva a cargar la configuración de nginx cuando rsync actualice nginx.conf

Tengo dos servidores web, servidor1 y servidor2.

En el servidor2 hay un comando rsync, programado en crontab, que actualiza la carpeta /etc/nginx cuando hago algunos cambios en el servidor1:

*/5 * * * * rsync -avzhe ssh user@server1:/etc/nginx/ /etc/nginx/

¿Cómo puedo saber que rsync ha cambiado algo y tengo que recargar nginx?

Respuesta1

Encontré una solución.

Al agregar la opción -i y eliminar -v, rsync genera algo solo si se cambiaron los archivos. Entonces escribí este guión:

#!/bin/bash

RSYNC=$(rsync -aizhe ssh user@server1:/etc/nginx/ /etc/nginx/)

if [ $? -eq 0 ]; then
        if [ -n "${RSYNC}" ]; then
                /usr/sbin/nginx -s reload
                echo "reloaded."
        fi
else
        exit 1
fi

y lo ponemos en crontab.

información relacionada