Programando un script que automatiza algunas cosas me di cuenta de que necesitaba otro script para respaldar determinada carpeta. Es decir, respaldar o hacer un backup de un directorio usando un script de bash.
Lo que hace este script no es nada nuevo, pero funciona muy bien. Lo escribí hace casi un año pero funciona.
Simplemente empaqueta o comprime todo el contenido de un directorio a un archivo .tar.gz. Podemos, más tarde y con algunas pequeñas modificaciones, programarlo con cron pero eso es otra historia.
Ya he escrito la continuación de este script sobre cómo utilizar cron para respaldar el directorio cada cierto tiempo.
Hablar es de mal gusto, así que aquí el código del script para respaldar un directorio y más abajo lo explicamos:
#!/bin/bash
FECHA_Y_HORA=`date "+%d-%m-%y_%H-%M-%S"`
NOMBRE_ARCHIVO="respaldo_$FECHA_Y_HORA.tgz"
CARPETA_DESTINO="./respaldos"
CARPETA_RESPALDAR="cosas_importantes"
# Creamos el directorio para los respaldos por si no existe
mkdir -p "$CARPETA_DESTINO"
tar cfvz "$CARPETA_DESTINO/$NOMBRE_ARCHIVO" "$CARPETA_RESPALDAR"
En la primera línea vemos el Shebang, que es un comentario (muy importante) indicando la ruta de la ejecución, que en este caso es el binario de bash.
Luego obtenemos la fecha y hora para llamar así a nuestro respaldo (por ejemplo, respaldo_28-11-1996_21-06-00.tgz)
Definimos algunas variables como el nombre del archivo, la carpeta en donde serán guardados los respaldos y la carpeta que respaldaremos. Esta variable es la que cambiaremos según lo que deseemos respaldar (valga la redundancia)
Más tarde, con mkdir creamos la carpeta en donde guardaremos los backups. Lo llamamos con la opción p para que, si el directorio no existe, sea creado.
Finalmente llamamos a tar con las opciones cfvz. Me parece que la c es para crear, la v para que sea verboso o imprima mensajes de debug, la z para que los archivos sean comprimidos con gzip y f para que opere sobre el archivo que le estamos pasando como argumento.
Lo ponemos en algún lugar preferentemente en /home/tu_usuario
No olvidemos darle permisos de ejecución con:
chmod 755 respaldar.sh
Cambiamos el nombre de las variables (dependiendo de la carpeta que vayamos a respaldar, así como el directorio que cambiará los respaldos) y luego lo ejecutamos con:
./respaldar.sh
Voy a descargar el script y lo pondré en /home/luis
En la carpeta “cosas_importantes” tengo algunos archivos txt. Se supone que toda esa carpeta será respaldada.
Damos permiso de ejecución al script y lo ejecutamos. Como vemos, tar nos dice cuáles archivos está comprimiendo:
Con ello se habrá creado la carpeta “respaldos” y dentro de ella está nuestro backup con el nombre que le pusimos
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios