BorrowBits - ciencia y tecnología
Bin bash

[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.

Rafa M.

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

4 comentarios

  • 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ó…

  • 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.

  • ¿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.

Suscríbete

¡Sácale el máximo partido a BBits!

Introduce tu dirección de correo electrónico para seguir este Blog y recibir por email las nuevas publicaciones, si has leído y aceptas las Políticas de Privacidad, Cookies y Aviso Legal.

Recíbelo gratis al suscribirte

Webs amigas

  • Frikilogia.- Blog Multi-Tematico orientado a todos los campos del frikismo.
  • Meridiem90.tv.- Mira la TV gratis en HD. Canal Plus y Gol TV, todo el futbol desde tu navegador.
  • JITKey.- Startup enfocada en la gestión de alojamientos turísticos.

Bits del pasado

Síguenos en FB