Admin Libre - Administración de sistemas y redes

Sincronización remota de archivos con openrsync
Por Francisco Gaitán el 2 de Octubre de 2023

openrsync(1) sirve para sincronizar archivos locales en un destino remoto. Es parte de OpenBSD desde la versión 6.5 por lo que no requiere la instalación de ningún paquete.

Para mantener una copia actualizada del directorio Maildir en el servidor remoto backup.example.com con el usuario foo conectando por el puerto SSH 28521 se puede hacer así:

#!/bin/sh
openrsync -rpgoD --del --rsync-path=/usr/bin/openrsync -e "ssh -p 28521" /home/foo/Maildir foo@backup.example.com:~

De esta forma copia dicho directorio de forma recursiva y borra los archivos antiguos que ya no existen en el host desde el que se ejecuta openrsync.

  • -r: copia recursiva
  • -p: establece los mismos permisos
  • -g: establece el mismo grupo
  • -o: establece el mismo propietario
  • -D: transfiere dispositivos y archivos especiales
  • --del: borra los archivos no encontrados en local
  • --rsync-path: indica el directorio de openrsync
  • -e "ssh -p 28521": usa ssh indicando el puerto 28521

Combinándolo con crontab(1) conforma una excelente solución minimalista para hacer copias de seguridad.

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org