Introducción
La copia de seguridad de los datos es una parte esencial de las infraestructuras tanto individuales como empresariales. Las máquinas con el sistema operativo Linux pueden usar rsync y ssh para facilitar el proceso.
Rsync es una utilidad de línea de comandos que le permite transferir archivos a ubicaciones locales y remotas. Rsync es conveniente de usar ya que viene por defecto con la mayoría de las distribuciones de Linux. Puede personalizar la herramienta utilizando muchas de las opciones disponibles.
En este caso de uso, usaremos SSH en combinación con rsync para asegurar la transferencia de archivos.
Siga este tutorial para aprender cómo usar rsync para hacer una copia de seguridad de los datos . La guía enumerará algunos ejemplos para ilustrar cómo funciona el proceso.
Requisitos previos
- Sudo o raíz privilegios o un usuario con acceso a los directorios de copia de seguridad y de destino
- Acceso SSH a un servidor a través de la línea de comandos/ventana de terminal
- Rsync instalado en la máquina local y de destino
Sintaxis básica de Rsync para transferencias locales y externas
La sintaxis para usar la herramienta rsync es diferente para transferencias locales y remotas.
Para las copias de seguridad locales, la sintaxis sigue este patrón básico:
rsync
options
SOURCE DESTINATION
Para transferir archivos a una ubicación externa, usaremos un patrón un poco diferente:
rsync
options
SOURCE [email protected]_or_hostname:DESTINATION
En ambos casos, el origen y el destino son un directorio o una ruta de archivo.
Copia de seguridad de datos con Rsync
Para una mejor comprensión de lo que hace rsync, usaremos el modificador detallado -v
. Además, dado que haremos una copia de seguridad de los datos en los directorios, usaremos el modo de archivo -a
para la sincronización recursiva. Hay muchas opciones y ejemplos de rsync, así que use cualquiera de ellos que necesite para su caso de uso.
Ejecución en seco de Rsync - Precauciones
La utilidad rsync le permite manipular sus datos de diferentes maneras. Por lo tanto, tenga cuidado al hacer una copia de seguridad de sus archivos. Si usa una opción incorrecta o un destino incorrecto, puede terminar mezclando sus datos. Peor aún, puede sobrescribir o eliminar archivos sin querer.
Por esa razón, use el --dry-run
opción para confirmar que la herramienta hace lo que usted quiere hacer. Puede ocurrir una pérdida accidental de datos, pero esta opción ayuda a prevenirla.
Para transferencias simples, es posible que no necesite usar --dry-run
, pero cuando se trata de un conjunto de datos más grande, le recomendamos encarecidamente que lo haga.
Use el formato de sintaxis básica y agregue --dry-run
:
rsync
options
--dry-run SOURCE DESTINATION
Utilice Rsync para realizar copias de seguridad de datos localmente
Comenzaremos realizando una copia de seguridad de un directorio en la misma máquina Linux. La ruta puede ser cualquier ubicación:otra partición, disco duro, almacenamiento externo, etc.
Utilice la ruta completa tanto para el origen como para el destino para evitar errores.
Por ejemplo, para hacer una copia de seguridad de un Dir1 de Documentos a /media/hdd2/rscync_backup , use el comando rsync de esta forma:
rsync -av /home/test/Documents/Dir1 /media/hdd2/rsync_backup
El resultado muestra la lista de archivos y directorios transferidos y otros detalles de la transferencia.
Utilice Rsync para realizar copias de seguridad de datos a través de la red
Para una copia de seguridad segura de los datos a través de la red, rsync usa SSH para las transferencias. Su servidor debe configurarse para permitir la conexión SSH.
Una vez que logre conectarse a la máquina remota a través de SSH, puede comenzar a hacer una copia de seguridad de sus datos en una ubicación en esa máquina.
Por ejemplo, para hacer una copia de seguridad de Dir1 para copia de seguridad en otra máquina a través de la red, ingrese:
rsync -av /home/test/Documents/Dir1 [email protected]:/home/test/backup
La salida enumera los directorios y archivos que rsync transfirió a otra máquina.
Puede verificar si los archivos realmente están en el servidor remoto:
Si se está conectando por primera vez, deberá ingresar su contraseña y confirmar cuando reciba un aviso. No es necesario ingresar un nombre de usuario para transferencias remotas si desea conectarse como el usuario actual.
El ejemplo que usamos aquí asume que SSH usa el puerto predeterminado. Si necesita especificar un puerto diferente para la conexión SSH, use -e
marque e ingrese las opciones de SSH.
Para especificar el puerto 4455, por ejemplo, ejecute el comando anterior en este formato:
rsync -av -e 'ssh -p 4455' /home/test/Documents/Dir1 [email protected]:/home/test/backup
Cuando sea necesario, puede eliminar los archivos de origen después de transferirlos a otra ubicación.
Comprimir datos al realizar una copia de seguridad con Rsync
Para ahorrar espacio, puede comprimir sus datos antes de transferirlos a otra ubicación. Puede usar la opción integrada de rsync para comprimir datos, o puede usar una herramienta diferente para hacerlo antes de ejecutar rsync.
Para comprimir datos durante la transferencia, use -z
cambia con tu rsync
comando.
rsync -avz /home/test/Documents/Dir1 [email protected]:/home/test/backup
Otra opción es usar el zip
comando para comprimir sus archivos o directorio y luego ejecutar rsync
. En nuestro caso, comprimiremos Dir1 en Dir.zip :
zip /home/test/Documents/Dir1.zip /home/test/Documents/Dir1
Luego transfiera ese archivo a otra ubicación:
rsync -avz /home/test/Documents/Dir1.zip [email protected]:/home/test/backup
Ahora, tiene una copia comprimida de su directorio en un servidor remoto. También puede hacer esto para transferencias locales si desea tener una copia de seguridad en otra unidad o partición.