654380491
hola@carlosdk.com
Login
[miniorange_social_login]

Login with your site account

Lost your password?

Carlos DK Carlos DK
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
Back
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
  • Home
  • Blog
  • Tutoriales formativos
  • Copia de seguridad de un servidor a otro por ssh utilizando curl

Tutoriales formativos

22 Oct

Copia de seguridad de un servidor a otro por ssh utilizando curl

  • By Carlos Dk
  • In Tutoriales formativos
  • 0 comment
Linux
Linux

Bienvenidos a VerTutoriales.com, siguiendo con la administración de servidores Linux. Hoy os explico como realizar una copia de seguridad de un servidor a otro por SSH utilizando Curl implementado con ficheros Bash

No podemos olvidar los backup, aquello que hasta que no nos da un susto lo suficientemente grande para que la siguiente vez sea lo primero que se hace. A quien le haya pasado sabrá de lo que hablo 😉

Para sacar copias de seguridad, lo que vamos a utilizar es un fichero por lotes conocido como archivos bash. Estos archivos bash en sistemas linux sirven para poder procesar varias líneas de ejecución, a la vez de poder incluso utilizar variables dentro del mismo para reutilizarlo en el mismo fichero. Por decir, incluso pueden recibir parámetros y que sean utilizados dentro de su ejecución.

Aunque en este tutorial no vamos a profundizar tanto, siempre es interesante saber lo que puede hacer para que luego cada uno investigue por su cuenta. Dicho esto, vamos a ver el fichero bash que me preparé para la copia de seguridad:

#!/bin/bash
find /backup/*.zip -mtime +1 -type f -exec rm -f \{\} \;
zip -1 -r /backup/copia-$(date +%Y%m%d).zip /backup/
curl -T /backup/copia-$(date +%Y%m%d).zip -u user:pass ftp://miservidor.ftp.com/

Vamos a ver cada línea lo que hace

Esta primera línea:

find /backup/*.zip -mtime +1 -type f -exec rm -f \{\} \;

Find sirve para buscar archivos, en nuestro caso, ejecutamos también un comando de eliminación con -exec, para eliminar lo que sea más antiguo de -mtime +1, podéis ver información más detallada en el anterior tutorial de eliminar archivos con una fecha “anterior a” con SSH

La siguiente línea, es una ejecución de zip:

zip -1 -r /backup/copia-$(date +%Y%m%d).zip /backup/

Con zip, comprime todo lo que haya con fecha $(date +%Y%m%d), esto es la fecha del día de hoy, esto en realidad lo utilizo de esta manera, por que con anterioridad, lanzo un script de compresión de una carpeta por subcarpetas, de manera que me genere un archivo comprimido por carpeta-fecha, de esta manera puedo ir manteniendo diferentes copias por diferentes días.

Finalmente por terminar la copia con CURL

curl -T /backup/copia-$(date +%Y%m%d).zip -u user:pass ftp://miservidor.ftp.com/

Con CURL lo que indicamos es por un lado el fichero con -T , se le pasa la ruta, puede ser absoluta o relativa a la ruta desde la cual se ejecuta, igualmente utilizamos la función date para la fecha, de esta manera será solo lo que tengamos del día de hoy, a continuación paso el par de user:pass y finalmente la dirección FTP donde estará el servidor donde realizaré la copia.

En  conclusión, el primer código es el complementario de uno anterior en el cual se realiza una copia fechada con el día de hoy, que no es el tema del tutorial en cuestión (si tenéis interés podéis pedirlo). Y finalmente pues tenemos como eliminar lo antiguo para ir limpiando lo antiguo, se comprime con la nueva fecha y finalmente copiamos al servidor FTP externo.

¿Por qué realizo una copia duplicada y no limpio todo al terminar?

Bueno, quizás fuera lo más óptimo a nivel de recursos, aunque la verdad que los años me ha enseñado a tener las últimas copias en el mismo servidor, si hubiera cualquier problema, lo más rápido será acceder al mismo servidor que tengo la copia más actual y utilizarla. Pongo un caso real, una web de más de 15GB, el tener que ir a descargar el backup y encontrar el fichero dañado o la información perdida, me llevaría a localizar la copia, descargarla en el servidor (en mi pc será un buen rato de más, sobre todo si tienes al cliente encima), descomprimirlo (que también se lleva su tiempo), etc… Vamos, que el ahorro de tiempo es considerable. Es por eso que tengo una copia en el propio servidor. es más fácil descomprimir directamente por el día que se quiera y copiar en un plis.

Espero que os sirva, el vídeo que acompaña viene incluso la instalación de CURL en el sistema operativo. Así que completo desde 0 y explicado en menos de 3 minutos reales 😉

Dudas y agradecimientos en los comentarios! 🙂

 

  • Share:
Carlos Dk

You may also like

Crear categorías y configurar menú en WordPress en 4 min.

  • marzo 3, 2019
  • by Carlos Dk
  • in Tutoriales formativos
Crear categoría y menú WordPress Es indispensable en una nueva instalación de WordPress, crear las...
Instalar tema en WordPress en 2 pasos
febrero 23, 2019
Actualizar MySQL 5.1 a 5.6 en CentOS 6.9 con Plesk como panel
octubre 20, 2018
Recorrer todos los objetos de una capa o del DOM completo con JQuery
diciembre 22, 2014

Leave A Reply Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Busca en la web

Recomiendo

Software ERP empresarial

Categorías

  • Miscelanea (129)
  • Tutoriales formativos (622)

Ponte en contacto

+34 654380491

hola@carlosdk.com

Torre del Mar (Málaga)

Enlaces rápidos

  • Universo Dk
  • Contacto
  • Blog

Soy social

  • Twitter
  • Linkedin
  • Youtube

Newsletters

Suscríbete para enterarte de lo último que estoy haciendo. No lo usaré para enviarte SPAM inútil 😉

Esta web la he diseñado con cariño en Andalucía por Carlos Dk