Generalidades
Este artículo proporciona información sobre cómo utilizar la herramienta de copia rsync.
Antecedentes
rsync es una herramienta rápida y versátil de copia y sincronización de archivos que se utiliza en los sistemas operativos Linux y macOS. Es útil para realizar respaldos de tu contenido en tu computador local, enviar el contenido a un servidor web y sincronizar rápidamente archivos entre dos computadores.
Usar sync para publicar tus archivos
Cuando utilizas rsync para cargar los archivos (o los cambios) de tu sitio, determina qué archivos han cambiado y carga solo los archivos modificados. Esto garantiza que un archivo no se duplique al sincronizar.
En los siguientes ejemplos, el username es tu usuario shell, y server es tu servidor web de DreamHost.
Aquí hay una sintáxis básica:
[server]$ rsync -e "/usr/bin/ssh" -av local_directory username@server.dreamhost.com:remote_directory
Para evitar errores, se recomienda utilizar la ruta completa tanto para los directorios locales como para los remotos. A continuación, se incluye un ejemplo completo:
[server]$ rsync -e "/usr/bin/ssh" -av /home/username/documents/mybackups username@server.dreamhost.com:/home/username/example.com
Campos y filtros
Puedes usar varias configuraciones de campo y filtros cuando utilizas rsync.
Campos
Campo | Descripción |
---|---|
rsync | El comando rsync. Inicia siempre el comando completo con rsync. |
-e | Especifica el programa de shell remoto que se utilizará. Esto siempre puede ser /usr/bin/ssh. |
bwlimit | (Opcional) Te permite especificar una velocidad de transferencia máxima en kb/seg. |
-av | Modo archivo y verbose. |
local_directory | Este es el directorio local de tu computador donde almacenas los datos que se van a cargar. Por ejemplo: /home/username/documents/mybackups |
username | Este es el usuario shell de DreamHost asignado a tu sitio. |
server | Este es el nombre del servidor al que estás subiendo el contenido. Revisa el artículo FTP para obtener instrucciones sobre cómo ubicar este nombre. |
remote_directory | Este es el directorio del servidor al que deseas cargar el contenido. Por ejemplo, si deseas descargar todo el contenido del directorio /example.com, agrega la ruta completa del archivo en el servidor: /home/username/example.com/.
Si agregas una barra diagonal al final de la ruta, se descargará solo el contenido de ese directorio, pero no el nombre del directorio en sí. Si no agregas la barra diagonal, se descargará el directorio con todo lo que contiene. |
Filtros
También es posible configurar filtros para incluir e ignorar determinados archivos. Esto permite tener una configuración completamente automatizada en un solo paso una vez que los filtros están en su lugar.
Ejemplo
Este comando filtra los archivos .pyc y los directorios /.git:
[server]$ rsync --filter '- *.pyc' --filter '- /.git' -e "/usr/bin/ssh" -av local_directory username@server.dreamhost.com:remote_directory
Ver también
Enlaces de DreamHost
Enlaces de terceros