[Administra tu Servidor] ¿Cómo hacer copias periódicas en Linux? Utiliza la shell.

[Administra tu Servidor] ¿Cómo hacer copias periódicas en Linux? Utiliza la shell.

Bin bash

Tanto si eres el administrador de un servidor con Linux o simplemente tienes instalada una de sus distribuciones en tu portátil personal, seguro que te ves en la necesidad de hacer copias de algunos archivos de configuración o incluso de todo el sistema de forma periódica.

Hay una forma sencilla de hacerlo sin tener que instalarte nada,  utilizando un shell script. Es decir, un script que te permita decir de qué directorios se hará el backup, dónde se guardará la copia comprimida y con qué periodicidad se hará. También explicaré como recuperar esa copia almacenada. Esta información y mucho más la puedes encontrar en la ayuda de Ubuntu.

¿Cómo hacer la copia de seguridad?

Crea un archivo llamado backup.sh y copia en él lo siguiente:

#!/bin/sh
####################################
## Backup script.
#####################################
# ¿De que queremos hacer el Backup?
backup_files="/home/var/mis_fotos"
# ¿Donde lo vamos a almacenar?
dest="/home/backup"
# Crear nombre del archivo
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Mostramos por consola que ha comenzado el Backup y la fecha.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo
# Copiamos los archivos comprimiéndolos con tar.
tar czf $dest/$archive_file $backup_files 
# Mostramos por consola el final del Backup y la fecha.
echo
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest
  1. Tendremos que indicar la ruta donde están los archivos que queremos hacerle una copia de seguridad y se guardarán en la variable backup_files.
     backup_files="/ruta_del_archivo_a_copiar"
  2. Indica donde se almacenará la copia de la misma forma. (Debe de ser una localización que ya haya sido montada).
     dest="/ruta_de_la_carpeta_donde_se_guardara"
  3. Luego indicamos el nombre que tendrá el archivo donde se guardará nuestra copia de seguridad comprimida.
  4. Con el comando tar se creará el archivo comprimido que contendrá la información copiada.
    • c: crea el archivo.
    • z: comprime el archivo.
    • f: indica que se dará un nombre al archivo tar.
  5. Finalmente se mostrará un listado con el comando ls –lh (lista larga y legible) con el contenido del directorio que hemos elegido como destino de nuestro backup.

¿Cómo ejecutar el script?

En una consola escribe:

sudo bash backup.sh

¿Cómo programar su ejecución de forma periódica?

Utiliza el comando cron para especificar qué días y a qué hora se ejecutará. Para ello tienes que añadir una entrada nueva:

Sudo crontab –e

Se nos abrirán las tareas ya programadas. Añade la siguiente línea:

# m h dom mon dow   command
0 3 * * * bash /home/backup.sh
  • m: minuto (de 0 a 59)
  • h: hora (de 0 a 23)
  • dom: día del mes.
  • mon: mes (1 a 12)
  • command: el fichero a ejecutar.

Guarda el archivo y ya tendríamos programada su ejecución. En el ejemplo se hará la copia a las 3.00 a.m todos los días.

¿Cómo restaurar la copia guardada?

Ejecuta el siguiente comando en el directorio destino para descomprimir el backup que indicamos en la ruta:

sudo tar -xzvf /home/backup/host-Monday.tgz

¿Utilizas este método? ¿Conoces alguna mejora para hacerlo? Compártelo con nosotros.

Previous Los 4 pilares básicos de un MBA
Next Un análisis financiero básico: ENCE

About author

Rafa M.
Rafa M. 51 posts

Ingeniero de Telecomunicación, apasionado de la Seguridad Informática.

You might also like

Internet 2 Comentarios

8 claves para convertirte en un Gurú de Internet

Repentinamente, todo el mundo sabe cantidad de cosas sobre marketing en Internet y los mejores trucos para forrarte con tu negocio en la red. A todos se les llena la

Internet 0 Comentarios

Bitcoin, ¿La moneda del futuro?

Aunque han pasado varios años desde su concepción por Satoshi Nakamoto, es ahora cuando está ganando una mayor popularidad gracias a las últimas noticias que están apareciendo, como por ejemplo

Emigrar a Inglaterra: Ingenieros

Emigrar a Inglaterra es una de las opciones que parece haberse puesto más de moda en los últimos años debido a la crisis. Si eres ingeniero recién titulado y quieres

4 Comentarios

  1. VicRR12
    marzo 01, 17:33 Reply

    ¿Como puedo hacer esto mismo pero que el respaldo lo tome de una maquina con windows?
    Intente hacer algo parecido pero manda tiempo de espera en conexión con el equipo.

  2. nmdb
    julio 08, 17:18 Reply

    Solo faltaría una comprobación para limitar y controlar el numero y tamaño de las copias.

  3. Antonio B.
    mayo 01, 12:36 Reply

    Buen artículo, sencillo y muy bien explicado.
    Si le añades cómo hacer backup de una base de datos en el script, sería de matrícula !
    Gracias.

  4. Bitacoras.com
    enero 31, 16:10 Reply

    Información Bitacoras.com

    Valora en Bitacoras.com: Tanto si eres el administrador de un servidor con Linux o simplemente tienes instalada una de sus distribuciones en tu portátil personal, seguro que te ves en la necesidad de hacer copias de algunos archivos de configuració…

Deja un comentario