TIPS- Mover grandes volúmenes de datos entres servidores de forma segura

El comando rsync es muy rápido para copiar y permite que copiemos a través de SSH de manera segura de una PC para otra, además de que con los parámetros adecuados permite que la copia se pueda reiniciar si es interrumpida. Aquí tienen un ejemplo:

rsync -e ssh -agEvz /home/datos root@192.168.0.2:/data

Aquí lo que estamos haciendo es copiar desde nuestra PC la información de /home/datos para /data de una PC remota con IP 192.168.0.2 y a través del usuario root de esa PC remota.

Cuando pusimos el comando anterior se nos pide la contraseña del usuario root de la PC remota, luego se inicia la copia, si la misma es interrumpida puede ser reiniciada corriendo el mismo comando, y la copia se reinicia donde mismo se había quedado.

Esto es muy valioso para los administradores de servidores.

Ahora, si necesitamos hacer salvas diarias y tenemos un script que se configuró para que se ejecutara a una hora del día en específico podemos hacer que dos servidores se autentiquen sin tener que introducir el password manualmente, sino mediante la compartición de claves. Así el comando anterior pudiera correrse de madrugada y no requeriría de la intervención nuestra.

Pasos:

1. Generarr tu clave pública de ssh, esto se hace en la máquina cliente que va a salvar datos en un server

ssh-keygen -t rsa

Aprieta enter dos veces Eso te genera tu clave pública para ssh en tu carpeta personal en /.ssh/id_rsa.pub

2. Exportar para el servidor remoto tu clave pública

Ahora debes decirle al server donde vas a hacer las salvas, que importe esa clave pública tuya, esto permite que cuando vayas a sincronizar carpetas con rsync desde esta máquina local no te pida pass porque ya estará autorizada, gracias a que exportaste tu clave pública

ssh-copy-id -i ~/.ssh/id_rsa.pub user_en_elServer@IpdelServer

Ejemplo:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2

Listo una vez que tengas esto puedes realizar salvas automáticas al servidor 192.168.0.2.
Las salvas las haríamos con el comando rsync tal y como se muestra al principio de este post.

¿De cuánta utilidad te ha parecido este contenido?

Armando Felipe Fuentes Denis

Cloud Architect | DevOps | SecOps | SRE | Cloud | SysAdmins

View Comments

  • En el ejemplo que pones, en caso de que sean carpetas debes añadir al final el simbolo "/" (trailing slash) para que sincronice ambas carpetas.

    Si es una copia "importante" es decir que te interesa que verifique los contenidos y no por fechas solamente debes usar la opción "-c" (checksum) que comprueba que los archivos sean los mismos, no importa que la fecha sea diferente. Esta opción hace que sea más lenta, pero en casos de información valiosa, bien vale la pena.

    Hay una opción que es de buena ayuda cuando son volumenes grandes de datos "--progress" que indica en todo momento ficheros restantes etc. También si usas una version de rsync moderna (requiere version 3.1.0 protocol version 31) probar la opción "--info=progress2" que da una idea del progreso global de la copia, ya que la primera mencionada en este párrafo es por cada fichero.

Share
Published by
Armando Felipe Fuentes Denis

Recent Posts

SquidStat, analizador de logs de squid diferente y 100% cubano

Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…

4 días ago

n8n Transformando la Automatización de Flujos de Trabajo con Inteligencia Artificial

La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…

2 semanas ago

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

2 años ago

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

2 años ago

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

2 años ago