En este artículo, le mostraré cómo usar el comando rsync para copiar archivos y directorios y realizar una copia de seguridad incremental. Usaré Ubuntu para la demostración. Pero cualquier distribución moderna de Linux debería funcionar bien. Entonces empecemos.
Instalación de rsync:
rsync ya debería estar instalado en Ubuntu. Pero, si no está instalado en su computadora por alguna razón, puede instalarlo fácilmente desde el repositorio oficial de paquetes de Ubuntu con el siguiente comando:
$ sudo apt install rsync -y
Formato del comando rsync:
El formato básico del comando rsync es,
destino de origen de las opciones de $ rsync- fuente puede ser un archivo o un directorio o una ruta de red.
- destino puede ser un directorio o una ruta de red.
- rsync tiene muchas opciones. Puede cambiar el comportamiento de rsync usando estas opciones. Echaremos un vistazo a algunas de las opciones más comunes a lo largo del camino.
Cuando usa rsync, necesita saber lo siguiente:
- Si pones un / después del nombre del directorio en el fuente de rsync como mis archivos/, entonces significa copiar todos los archivos desde dentro del directorio solo al destino.
- Si no pones un / después del nombre del directorio en el fuente de rsync como mis archivos, luego rsync copiará todos los archivos del directorio al destino incluyendo el directorio.
- Si escribe un destino ruta del directorio que no existe, entonces rsync la creará automáticamente según sea necesario.
Copia de seguridad de archivos y directorios locales con rsync:
Puede copiar archivos de un directorio a otro directorio en su computadora muy rápidamente con rsync.
Por ejemplo, digamos que tiene algunos archivos importantes en el ~ / Descargas directorio. Ahora, desea hacer una copia de seguridad de todos los archivos del ~ / Descargas directorio a su memoria USB / dev / sdb1 montado en el directorio / mnt / myusb.
Hagamos algunos archivos ficticios en el ~ / Descargas directorio.
$ touch ~ / Descargas / prueba 1… 100
Ahora, copie todos los archivos del ~ / Descargas directorio a / mnt / myusb directorio con el siguiente comando rsync:
$ rsync -avzh ~ / Descargas / / mnt / myusb
Los archivos deben copiarse.
Como puede ver, los archivos están en el / mnt / myusb directorio.
También puede copiar todo ~ / Descargas directorio a su memoria USB de la siguiente manera:
$ rsync -avzh ~ / Descargas / mnt / myusb
Como puede ver, todo el directorio se copia en la memoria USB.
Nuevamente, si desea copiar todos los archivos del ~ / Descargas directorio a otro directorio (digamos mis descargas /) en su memoria USB, ejecute rsync de la siguiente manera:
$ rsync -avzh ~ / Descargas / / mnt / myusb / mydownloads
Como puede ver, los archivos se copian correctamente en la memoria USB.
Copia de seguridad de archivos y directorios remotos con rsync:
Con rsync, puede copiar archivos y directorios desde un servidor remoto a su sistema de archivos local o unidad flash USB con fines de copia de seguridad. También puede copiar archivos y directorios de su sistema de archivos local a su servidor de respaldo remoto. rsync usa SSH para copiar archivos y directorios hacia / desde el servidor remoto.
Debe tener el paquete de servidor SSH (servidor openssh en Ubuntu) y rsync paquete instalado en el servidor remoto si desea utilizar rsync para realizar copias de seguridad de archivos.
Por ejemplo, digamos que desea copiar todo el contenido (incluido el directorio) del /www directorio de su servidor remoto www.Ejemplo 1.com a su memoria USB montada en la ruta / mnt / myusb en su sistema de archivos local.
Para hacer eso, puede usar el siguiente comando rsync:
$ rsync -avzh root @ www.Ejemplo 1.com: / www / mnt / myusbNOTA: Aquí, raíz es el nombre de usuario remoto, www.Ejemplo 1.com es el nombre DNS del servidor remoto y /www es una ruta de directorio en el servidor remoto. También puede utilizar la dirección IP del servidor remoto en lugar del nombre DNS si lo desea.
Es posible que vea el siguiente mensaje si se está conectando al servidor remoto por primera vez. Solo escribe sí y luego presione
Ahora, escriba la contraseña del usuario remoto (en mi caso es raíz) y presione
Todos los archivos y directorios dentro del /www directorio que incluye el directorio /www debe copiarse en la unidad flash USB como puede ver en la captura de pantalla a continuación.
También puede copiar archivos de su sistema de archivos local a su servidor remoto con rsync.
En el ejemplo anterior, ha realizado una copia de seguridad del /www directorio en el servidor remoto. Ahora, digamos, algunos de los archivos en el servidor remoto están dañados y desea recuperarlos de la copia de seguridad.
Para hacer eso, ejecute el comando rsync de la siguiente manera:
$ rsync -avzh / mnt / myusb / www / root @ www.Ejemplo 1.com: / www
Ahora, escriba la contraseña de su servidor remoto y presione
Los archivos deben copiarse desde su sistema de archivos local al servidor remoto.
Realización de copias de seguridad incrementales con rsync:
En este tipo de copia de seguridad, el fuente y destino los directorios se mantienen sincronizados. Si se agrega algún archivo al fuente directorio, se agrega al destino directorio también. De la misma manera, si algún archivo o directorio del fuente se elimina el directorio, se elimina del destino directorio también.
rsync es una gran herramienta para realizar copias de seguridad incrementales.
Digamos que tienes un directorio ~ / nube en tu usuario CASA directorio. Ahora, desea realizar una copia de seguridad incremental del directorio en una unidad flash USB montada en la ruta / mnt / usb1 en un servidor remoto respaldo.ejemplo.com.
NOTA: Debes tener servidor openssh y rsync paquetes instalados en su servidor remoto para que esto funcione.
Para realizar una copia de seguridad incremental del ~ / nube, ejecute el siguiente comando:
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.ejemplo.com: / mnt / usb1 / backup
Ahora, escriba la contraseña de su usuario remoto y presione
El contenido del ~ / nube El directorio debe copiarse a la unidad flash USB en el servidor remoto.
Como puede ver, todos los archivos se copian en la unidad flash USB montada en el servidor de respaldo remoto.
Ahora, eliminemos un archivo del sistema de archivos local y veamos qué sucede.
$ rm ~ / nube / paquetes.TXT
Ahora, use rsync para sincronizar los directorios nuevamente con el mismo comando que antes.
$ rsync -avzh --delete --progress ~ / cloud / shovon @ backup.ejemplo.com: / mnt / usb1 / backup
Como puede ver, el archivo paquetes.TXT también se quita de la unidad flash USB montada en el servidor de respaldo remoto.
A dónde ir a continuación:
Puede encontrar más información sobre rsync en la página de manual de rsync. La página de manual de rsync tiene una descripción detallada de todas las opciones de rsync. Te recomiendo que mires eso.
Puede acceder a la página de manual de rsync con el siguiente comando:
$ man rsync
Entonces, así es como usa rsync para copiar archivos y realizar copias de seguridad incrementales en Ubuntu. Gracias por leer este artículo.