¿Alguna vez se preocupó por perder sus datos o se cansó de realizar copias de seguridad manuales diaria o semanalmente? Utilizar el rsync comando y sincronizar automáticamente sus archivos locales a un servidor remoto con la frecuencia que desee sin intervención manual. Tenga en cuenta que esta guía requiere acceso a un servidor Linux remoto (p. Ej. AWS) y está escrito en Ubuntu 20.04, aunque cualquier distribución de Linux debería funcionar bien.

Instalar rsync

Antes que nada, compruebe si rsync esta instalado. Tanto en su PC local como en su servidor web, ejecute este comando:

rsync --versión

Si obtiene la versión actual de rsync a cambio, entonces está todo listo para la siguiente sección. De lo contrario, si recibe un Comando no encontrado error, puede instalar rsync con este comando:

sudo apt-get -y instalar rsync

Generar clave SSH

Usaremos un Clave SSH para autenticar la conexión entre nuestra PC local y el servidor remoto. Para generar una nueva clave SSH en su PC local dentro del terminal, ejecute el comando:

instagram viewer
Cómo configurar SSH en Linux y probar su configuración: una guía para principiantes

¿Necesita acceder a su computadora o servidor Linux de forma remota? A continuación, se explica cómo instalar y configurar SSH en Linux, Windows y dispositivos móviles.

ssh-keygen -t rsa -b 4096 -f ~ / .ssh / rsync.key

Cuando se le solicite una contraseña, déjela en blanco y presione la tecla Intro dos veces. Esto generará dos nuevos archivos dentro de su ~ / .ssh / directorio llamado rsync.key cuál es la clave privada, y rsync.key.pub, la clave pública.

Configurar servidor remoto

Aunque no es obligatorio, para esta guía crearemos un Nuevo Usuario en el servidor remoto para conexiones rsync y para almacenar todos los archivos de respaldo. Inicie sesión en el servidor remoto a través de SSH y ejecute este comando:

sudo useradd -m rsync

El ejemplo anterior usa el nombre de usuario rsync, pero puede cambiarlo a lo que desee. los -metro La opción simplemente le dice a Linux que cree un directorio de inicio para nuestro nuevo usuario.

Para permitir que su PC local se autentique, la clave SSH pública que se generó en la sección anterior debe copiarse en el servidor remoto. Abre el /~.ssh/rsync.key.pub archivar en un editor de texto y verá una línea grande que se parece a.

ssh-rsa usuario @ host

Esta larga fila es la clave SSH pública. Cópielo en su portapapeles y dentro de su servidor remoto ejecute estos comandos:

sudo su rsync
mkdir -m 0700 $ INICIO / .ssh
echo "ssh-rsa AAAAB... usuario @ host "> $ INICIO / .ssh / claves_autorizadas
chmod 0644 $ INICIO / .ssh / claves_autorizadas

En el penúltimo comando, reemplace el texto entre las comillas con esa línea de clave SSH pública larga. Eso es todo, su PC local ahora podrá autenticarse con su servidor remoto.

Configurar el archivo de configuración ssh

En aras de la simplicidad, agregue una entrada al ~ / .ssh / config archivo en su PC local para conectarse fácilmente al servidor remoto. Abra el archivo en su PC local con el comando.

nano $ INICIO / .ssh / config

Dentro del archivo, agregue una entrada para el servidor remoto como:

host backup_server
 nombre de host 192.168.0.24
 usuario rsync
 IdentityFile ~ / .ssh / rsync

Cambie el nombre de host a la dirección IP de su servidor remoto y, si utilizó un nombre de usuario que no sea "rsync", cámbielo también. Puede usar cualquier cosa que desee para el host, pero para este ejemplo, se usó "backup_server". Guarde y cierre el archivo presionando Ctrl + X seguido de las teclas "Y" e Intro.

Pruebe su conexión SSH al servidor remoto con el comando.

ssh backup_server

Suponiendo que todo esté configurado correctamente, ahora debería iniciar sesión en su servidor remoto a través de SSH. Cierre la conexión con el comando.

Salida

Sincroniza tus archivos

Ahora prueba el rsync funcionalidad y, por ejemplo, para sincronizar su directorio de Documentos en su PC local, ejecute el comando:

rsync -avz --progress ~ / Documents / backup_server: ~ / Documentos

La primera aparición de ~ / Documentos / especifica el archivo o directorio local para sincronizar, backup_server corresponde con la entrada agregada al ~ / .ssh / config archivo, y el final : ~ / Documentos simplemente especifica cargar todo en el directorio / Documentos del servidor remoto en relación con el directorio de inicio.

Inicie sesión en el servidor remoto y debería ver un nuevo directorio de Documentos que está sincronizado con el de su PC local. Cada vez que ejecute el comando anterior, solo se cargarán los archivos que se hayan modificado desde la última vez, por lo que no estará cargando constantemente todo el contenido del directorio.

Automatizar a través de Crontab

Ahora que todo está probado y funciona correctamente, podemos automatizar fácilmente todo el proceso agregando un trabajo crontab a nuestra PC local. Para sincronizar automáticamente su carpeta local con el servidor remoto cada 15 minutos, dentro de la terminal ejecute el comando.

(crontab -l; echo "* / 15 * * * * rsync -avz --progress ~ / Documents / backup_server: ~ / Documentos> / dev / null 2> & 1";) | crontab

Puede recibir un mensaje de "no crontab para el usuario", y puede simplemente ignorarlo. Cambiar el Documentos directorio a lo que desee respaldar, pero asegúrese de dejar una barra inclinada para los directorios, de lo contrario no se respaldarán correctamente.

Verifique para asegurarse de que el trabajo crontab se haya agregado correctamente con el comando.

crontab -l

Si ve el trabajo crontab que se acaba de agregar, entonces todo está en su lugar. Espere 15 minutos, verifique su servidor remoto y todos los archivos necesarios deberían estar allí. A partir de ahora, todos los cambios realizados en sus archivos se cargarán automáticamente en el servidor remoto cada 15 minutos.

Descarga desde el servidor remoto

También puede utilizar rsync para descargar archivos del servidor remoto y sincronizarlos con su PC local. Usando el ejemplo anterior del directorio / Documentos, dentro de la terminal ejecute el comando:

rsync -chavzP servidor_de_seguridad: ~ / Documentos / ~ / Documentos

los ~. / Documentos El directorio en su PC local ahora debería ser una imagen reflejada del servidor remoto.

Incluir y excluir patrones

Si alguna vez necesita sincronizar solo archivos que coinciden con un patrón determinado, como terminar con .html puedes usar el --incluir patrón. Dentro de la terminal, ejecute el comando.

rsync -avz --include "* .html" --progress ~ / mysite / backup_server: ~ / public_html

Verifique el servidor remoto y verá que solo los archivos con una extensión .html del directorio local / mysite / se han cargado en el directorio / public_html / remote. De manera similar, también puede sincronizar todo, excepto ciertos archivos, con el --excluir opción. Por ejemplo, el siguiente comando sincronizará todos los archivos excepto aquellos con un .TXT extensión.

rsync -avz --exclude "* .txt" --progress ~ / mysite / backup_server: ~ / public_html

Sincronizar dos directorios locales

Si alguna vez lo necesita, también puede sincronizar dos directorios locales con el comando.

rsync -zvr ~ / fuente / directorio ~ / destino / directorio

Este comando funciona exactamente igual que cuando se sincroniza con un servidor remoto, con la única diferencia de que son dos directorios locales.

Estar tranquilo

Ahora puede respirar aliviado sabiendo que sus posibilidades de pérdida de datos ahora son sustancialmente menores. En este artículo has aprendido lo que rsync es, cómo generar e instalar una clave SSH, definir un servidor dentro del ~ ./. ssh / config, sincronizar un directorio local y remoto y automatizar todo el proceso a través de crontab. En el futuro, todos los archivos necesarios siempre se sincronizarán con su servidor remoto con solo un retraso de 15 minutos.

Correo electrónico
Cómo clonar su disco duro Linux: 4 métodos

¿Necesita clonar su unidad de disco duro o partición de Linux? Utilice una de estas herramientas de clonación de unidades para clonar su disco Linux.

Temas relacionados
  • Linux
  • Copias de seguridad
  • Linux
  • Respaldo en la nube
  • Red domestica
Sobre el Autor
Matt Dizak (13 Artículos publicados)Más de Matt Dizak

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Un paso más…!

Confirme su dirección de correo electrónico en el correo electrónico que le enviamos.

.