Created
November 14, 2019 19:42
-
-
Save angelblasco/1649d7e3ab4d454cffc45c47d745a761 to your computer and use it in GitHub Desktop.
Script para hacer bachup en Linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ¿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