Skip to content

Instantly share code, notes, and snippets.

@angelblasco
Created November 14, 2019 19:42
Show Gist options
  • Select an option

  • Save angelblasco/1649d7e3ab4d454cffc45c47d745a761 to your computer and use it in GitHub Desktop.

Select an option

Save angelblasco/1649d7e3ab4d454cffc45c47d745a761 to your computer and use it in GitHub Desktop.
Script para hacer bachup en Linux
¿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 +%m_%d_%y)
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
----------------------------------FIN-DEL-SCRIPT-------------------------------------------------
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"
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"
Luego indicamos el nombre que tendrá el archivo donde se guardará nuestra copia de seguridad comprimida.
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.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment