Uso de la utilidad Rsync en un VPS
08:49, 28.04.2022
Rsync es un software que permite sincronizar archivos de forma remota o local en VPS y VDS. La característica clave de la utilidad es la máxima velocidad de copia, que se consigue ignorando los archivos que no han cambiado después de la última sincronización. Rsync es una utilidad incorporada en la mayoría de las distribuciones de Linux existentes, y al mismo tiempo prácticamente no tiene análogos libres en términos de velocidad y comodidad - esto se debe a la popularidad entre los webmasters de todo el mundo.
Sintaxis básica de Rsync
La sincronización remota mediante Rsync funciona según una sintaxis sencilla, que esquemáticamente tiene el siguiente aspecto:
# rsync -options <source> <destination>
<Options> son parámetros de la utilidad, <source> significa el directorio o archivo que es la fuente, y <destination> es el receptor.
Veamos las opciones de utilidad más utilizadas:
- -v - modo de depuración;
- -q - prohibición de la salida de errores;
- -r - modo de copia recursiva;
- -a - archivado con guardado de enlaces simbólicos;
- -z - compresión de datos;
- -b - creación de copias de seguridad;
- -h - salida de datos en formato legible para el ser humano.
Esto es sólo un conjunto básico de parámetros que se pueden activar al trabajar con la utilidad Rsync - puede encontrar guías y manuales mucho más detallados en la documentación oficial.
Sincronización con un sistema remoto
Si tiene acceso local al servidor, es suficiente con especificar dos directorios a través de la línea de comandos, el origen y el receptor:
rsync -avzhHl /path/of/source/folder /path/to/destination/folder
Si la copia de seguridad de los datos debe realizarse de forma remota, añade al comando el nombre de la cuenta y la dirección IP del nodo de destino:
rsync -avzhHl /path/of/source/folder root@192.168.56.1:/path/to/destination/folder
El funcionamiento correcto y seguro para la sincronización remota requiere configurar el acceso mediante claves, la utilidad lo permite.
Cómo configurar la sincronización automática de directorios
Para automatizar el proceso, es necesario utilizar el programador de tareas cron, que también está disponible en cualquier sistema operativo basado en Linux. En primer lugar, hay que crear un script:
vi rsync_to_cron.sh !/bin/sh RSYNC=/usr/bin/rsync SSH=/usr/bin/ssh KEY=/root/.ssh/id_rsa RUSER=root RHOST=192.168.56.1 RPATH=/remote/dir LPATH=/local/dir $RSYNC -az -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH
A continuación, creamos una tarea para cron:
crontab -e 0 22 * * * /root/scripts/rsync_to_cron.sh
Bien, para seguir el proceso de sincronización, siempre puedes utilizar la clave -progress:
rsync -avzhHl --progress /path/of/source/folder root@192.168.56.1:/path/to/destination/folder
Ejemplo de uso
El ejemplo más sencillo de uso de la utilidad Rsync para la sincronización remota sería el comando
rsync -a --delete-after /data/ /backup/
Aquí damos el comando para sincronizar el directorio /data con el directorio /backub. La clave delete-after limpiará el directorio /backup de todos los archivos que faltan en el directorio /data. El parámetro -a permite acelerar el proceso, ya que sólo se copiarán los archivos modificados.
La utilidad permite copiar datos en ambas direcciones, mientras que la sintaxis de Rsync permite activar muchos modos y opciones adicionales. Con esto concluye nuestro material y gracias por su atención. Si necesita alquilar un VPS - contáctenos, nuestros expertos le ayudarán a elegir la mejor tarifa.