Hacer copias de seguridad de los archivos de forma regular es una parte integral de la administración de su servidor.
Aunque puede descargar cada archivo individual cuando quiera guardarlos, usando rsync
facilita la tarea de realizar copias de seguridad porque descarga solo los archivos que han cambiado, ahorrando tiempo y ancho de banda.
Instalar rsync
rsync
está disponible en la mayoría de las distribuciones de Linux de forma predeterminada. Sin embargo, si necesita instalarlo manualmente, puede hacerlo utilizando el administrador de paquetes de su distribución. Por ejemplo, los siguientes comandos son algunos rsync
comunes de Linux® comandos de instalación:
El sistema operativo Ubuntu
sudo aptitude install rsync
Gentoo
sudo emerge rsync
CentOS
sudo yum install rsync
rsync
instalado.
Usar SSH con rsync
Para mantener sus archivos y su sistema seguros, asegúrese de utilizar el cifrado al cargar o descargar archivos. El siguiente ejemplo utiliza el protocolo Secure Shell (SSH) con rsync
para mantener sus datos seguros. Si prefiere no usar SSH, se le solicitará una contraseña cada vez que ejecute rsync
.
Si usas rsync
para automatizar sus copias de seguridad, asegúrese de que el servidor de destino (donde se encuentra el directorio de copia de seguridad) tenga acceso al servidor de origen.
Para hacer una copia de seguridad de sus archivos de un servidor a otro, ejecute el siguiente comando en el servidor de destino:
rsync -e 'ssh -p 30000' -avlP --delete --stats [email protected]:/home/demo /backup
La siguiente explicación cubre cada parte del comando:
-
-e 'ssh -p 30000'
Asegura que
rsync
utiliza el protocolo SSH y establece el puerto. -
-avl
Un atajo que contiene las siguientes opciones:
-
-a
Archivo . Guarda la configuración de permisos para los archivos.
-
-v
Detallado . Devuelve más información sobre lo que
rsync
está haciendo. Puedes cambiar la cantidad de informaciónrsync
devuelve eliminando-v
, o puede solicitar más información con-vv
o-vvv
. Configuración del modo detallado con-vvv
devuelve toda la información sobre elrsync
proceso. -
-l
Enlaces . Conserva todos los enlaces simbólicos (enlaces simbólicos) que haya creado en el servidor de origen.
-
-P
Progreso . Muestra el progreso de cada transferencia de archivos.
-
-
--delete
Elimina archivos de la carpeta de destino que ya no son necesarios (es decir, se han eliminado de las carpetas de origen). Por lo general, elimina archivos para ahorrar espacio, pero si cree que podría necesitarlos más adelante, asegúrese de tener una copia de seguridad antes de eliminarlos.
-
--stats
Agrega más información sobre el estado de la transferencia de archivos.
-
[email protected]:/home/demo
Las carpetas de origen de las que se realizará una copia de seguridad.
Nota: rsync
diferencia entre/home/demo
y/home/demo/
. Con la barra diagonal final,rsync
copia el contenido del directorio, pero no vuelve a crear el directorio. Este ejemplo realiza una copia de seguridad de una carpeta de un sistema a otro, por lo que omitir la barra inclinada al final replica toda la estructura del directorio. -
/backup/
Identifica la carpeta en el servidor de copia de seguridad en la que colocar los archivos.
Su resultado debe ser similar al siguiente ejemplo:
receiving file list ...
31345 files to consider
./
tuning-primer.sh
42596 100% 533.30kB/s 0:00:00 (xfer#2, to-check=31331/31345)
bin/
bin/Backup
618 100% 7.74kB/s 0:00:00 (xfer#3, to-check=31310/31345)
bin/Search
455 100% 5.70kB/s 0:00:00 (xfer#4, to-check=31309/31345)
configs/
configs/php.ini
114 100% 1.43kB/s 0:00:00 (xfer#5, to-check=31307/31345)
public_html/
...
...
En el ejemplo anterior, rsync
recibe una lista de 31.345 archivos y, como es la primera vez, rsync
se ha ejecutado, los descarga todos. Cuando rsync
se ejecuta de nuevo, solo los archivos que han cambiado desde la última copia de seguridad se sincronizan con la carpeta de copia de seguridad.