Si necesita crear una copia de seguridad rsync sobre ssh, Jack Wallen le guiará a través del proceso rápido y fácil.
Linux tiene todas las herramientas que necesita para crear una copia de seguridad de red simple y automatizada. Aún mejor, es muy fácil de configurar y le servirá sin fallos (siempre y cuando su red esté en funcionamiento) hasta que ya no tenga necesidad de esta copia de seguridad.
¿Cómo haces que esta magia ocurra? Con facilidad, amigo mío. Te mostraré cómo hacerlo.
VER: Política de copia de seguridad de datos (Tech Pro Research)
Lo que necesitarás
Lo primero y más importante es que vas a hacer esto desde y hacia Linux. No importa qué distribución estés usando, siempre y cuando sea Linux. Tanto el código fuente como el destino necesitarán tener instalado un servidor openssh. Si necesita instalar openssh-server en cualquier máquina, puede hacerlo desde el gestor de paquetes GUI, o ejecutar la instalación desde la línea de comandos.
Por ejemplo, la instalación en Ubuntu requeriría el comando:
sudo apt-get install openssh-server
También necesitará generar una clave ssh. Esto es importante: Vamos a generar una clave ssh sin contraseña. Sí, esto podría considerarse un problema de seguridad, pero supongo que se está utilizando en una red segura; si su red (o su fuente y destino) no es segura, probablemente no debería considerar una opción como las copias de seguridad sin contraseña. Sin embargo, si necesita una copia de seguridad de rysnc automatizada de un equipo a otro, he aquí cómo hacerlo.
Generar una clave ssh
Más información sobre redes
El primer paso es generar una clave ssh sin contraseña. Siga estos pasos.
- Abra una ventana de terminal.
- Emita el comando ssh-keygen -t rsa.
- Cuando se le pida una ubicación de almacenamiento, pulse Intro en el teclado.
- Cuando se le pida una contraseña, presione Enter en su teclado.
- Cuando se le pida que verifique su contraseña, presione Enter en su teclado.
Los pasos anteriores darán como resultado la generación de un par de claves ssh. Si miras en ~/.ssh, encontrarás dos claves con los siguientes nombres (si elegiste los valores por defecto durante el proceso de generación de claves.
Copiar la clave del pub
Ahora tenemos que copiar la clave id_rsa.pub desde el origen al destino; esto se gestiona con la ayuda de ssh. Esto es lo que harás.
- Abra una ventana de terminal.
- Emita el comando ssh-copy-id -i ~/.ssh/id_rsa.pub USERNAME@REMOTE_HOST_IP (USERNAME es el nombre del usuario en el host remoto, y REMOTE_HOST_IP es la dirección IP del host remoto.
- Cuando se le solicite, introduzca la contraseña del host remoto.
La clave ssh se copiará automáticamente en la ubicación necesaria del destino y estará listo para crear un script de copia de seguridad.
El script de copia de seguridad
Vamos a crear un script de copia de seguridad muy simple para este proceso. Voy a asumir que la carpeta de origen de la copia de seguridad es ~/TEST y que la ubicación de la copia de seguridad en el equipo de destino es ~/BACKUPS/-usted querrá modificarla según sea necesario. El script simple se ve así:
#!/bin/sh
rsync -e ‘ssh -p 22’ -avzp /home/USER1/TEST REMOTE_HOST_IP:/home/USER2/BACKUPS
- USER1 es el nombre de un usuario en el equipo de origen.
- TEST es el directorio del que se realizará la copia de seguridad
- REMOTE_HOST_IP es la dirección IP real del equipo de destino.
- USER2 es el nombre de un usuario en el equipo de destino.
- BACKUPS es el directorio para alojar las copias de seguridad
Guarda ese archivo con el nombre rsync_script y luego dale permisos ejecutables con el comando chmod +x rsync_script.
Antes de configurar el proceso de automatización, pruebe el script con el comando ./rsync_script. Debe completarse sin errores, y el directorio de copia de seguridad debe encontrarse en el equipo de destino.
Automatización de la copia de seguridad
Usaremos cron para automatizar la copia de seguridad del script. Para hacer esto increíblemente fácil, puedes dejar caer tu rsync_script en uno de los siguientes directorios:
- /etc/cron.por hora (para las ejecuciones por hora)
- /etc/cron.daily (para ejecución diaria)
- /etc/cron.weekly (para ejecuciones semanales)
- /etc/cron.monthly (para ejecuciones mensuales)
Si necesita que el script de copia de seguridad se ejecute en un momento específico, tendrá que crear manualmente una tarea cron emitiendo el comando crontab -e y luego añadiendo una línea como:
00 00 * * * * /usr/local/rsync_script
La entrada crontab de arriba asume que movió el rsync_script a /usr/local/ y que quiere que el script se ejecute todos los días a medianoche. Guarde el archivo cron (normalmente pulsando[Ctrl]+[x]) y comenzará a funcionar la próxima vez que el reloj llegue a medianoche.
Tan simple como puede ser
Este método de hacer copias de seguridad con rsync sobre ssh es increíblemente simple; puede hacerlo mucho más complicado e incluso crear scripts para ejecutar múltiples copias de seguridad sobre ssh.
Recuerda: Se trata de un sistema de copia de seguridad sin contraseña, por lo que si se trata de una red o sistemas que no han sido protegidos, es posible que desee buscar en otro lugar. De lo contrario, se trata de una solución muy rápida y sencilla para realizar copias de seguridad de los datos de un equipo a otro.
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles