
Configuraré rsync entre dos servidores web. Mi objetivo es tener una copia de seguridad de los datos de mi servidor principal en el secundario en caso de que el servidor principal falle. Mi pregunta se relaciona con la configuración en el servidor principal de una cuenta de usuario para fines de rsync.
Por razones obvias, no quiero utilizar mi cuenta de usuario "root" aquí. Por lo tanto, mi objetivo es configurar otra cuenta que se utilizará únicamente para fines de rsync. Según tengo entendido, este usuario necesitará permisos de lectura para todos los archivos que necesitaré transferir (configuración de Apache, archivos de usuario de Linux, www-data).
¿Cuál es la mejor manera de configurar dichos permisos? ¿Debo otorgar privilegios de root al usuario de rsync o hay alguna forma más segura de crear un usuario para dicha copia de seguridad?
Respuesta1
Si la red que conecta ambos servidores es segura (por ejemplo, una red local en su oficina), puede usar rsync en modo demonio para conectarse como root. De esta manera no utilizas ssh para realizar la conexión.
En el sistema secundario, cree un archivo /etc/rsyncd.conf
con el siguiente contenido:
[all]
path = /
read only = no
uid = 0
gid = 0
hosts allow = primary-host
auth users = backupuser
secrets files = /etc/rsyncd.secrets
exclude = /tmp/ /var/tmp/ /var/cache/ /proc/ /sys/ /dev/ /run/ /boot/
Ahora cree un archivo /etc/rsyncd.secrets
con, por ejemplo:
backupuser:thisisasecretpassword
Haga que el archivo solo sea legible por root:
# chown root /etc/rsyncd.secrets; chmod 400 /etc/rsyncd.secrets
Ahora debe asegurarse de que rsync se inicie como un demonio; eso depende de su distribución, con Debian edita /etc/default/rsync
y cambia la RSYNC_ENABLE
línea RSYNC_ENABLE=true
y ejecuta /etc/init.d/rsync start
(si ejecuta systemd, ejecute systemctl enable rsync; systemctl start rsync
).
Ahora puede ejecutar rsync en el host principal y enviar todo lo que necesite para replicar al secundario haciendo, por ejemplo:
# rsync -ai /var/www/ backupuser@secondary-host::all/var/www/
Rsync le pedirá la contraseña secreta en este caso.