Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
linux:scripts:backupgpg [24/10/2019 08:43] – mate | linux:scripts:backupgpg [22/03/2020 11:52] (actual) – [2.2] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= backup, encriptado y copia a remoto | = backup, encriptado y copia a remoto | ||
+ | == 2.2 | ||
+ | * disociar parámetros de script en 2 ficheros | ||
+ | * usar '' | ||
+ | * o volver a mirar opciones de usar otro tipo de fichero (INI,JSON) | ||
+ | |||
+ | == v2.1 | ||
+ | * sustitución **GPG** por **[[software: | ||
+ | * valorando cambio de cálculo de hash | ||
+ | * sha1 -> md5 (la mitad de tiempo) : las colisiones no son importantes | ||
+ | * meow hash (por valorar) | ||
+ | * pte: cambiar el nombre del script! | ||
+ | |||
+ | <code bash backup_fs_gpg.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # | ||
+ | # FUNCIONES | ||
+ | # | ||
+ | |||
+ | function calcula_checksum() { | ||
+ | # calcula el SHA1 de los ficheros contenidos en el directorio pasado por parámetro | ||
+ | |||
+ | TMP=$(find " | ||
+ | CHEKSUM_ACT=$(echo $TMP | cut -d " " -f1) | ||
+ | unset TMP | ||
+ | } | ||
+ | |||
+ | |||
+ | # | ||
+ | # VARIABLES | ||
+ | # | ||
+ | |||
+ | FICHERO=" | ||
+ | DIR_ORIGEN="/ | ||
+ | CHEKSUM_ACT="" | ||
+ | CAMBIOS=" | ||
+ | DBB_HOST=" | ||
+ | DBB_USER=" | ||
+ | DBB_PASSWORD=" | ||
+ | BACKUP_PATH=" | ||
+ | ENCHIVE_PATH=" | ||
+ | ENCHIVE_PUBKEY=" | ||
+ | |||
+ | FECHA=`eval date +%y%m%d` | ||
+ | |||
+ | DIRECTORIOS_TAR="" | ||
+ | |||
+ | # backup BBDD | ||
+ | declare -a BBDD=(" | ||
+ | for BDD in " | ||
+ | / | ||
+ | ${ENCHIVE_PATH} --pub-key=${BACKUP_PATH}/ | ||
+ | rm ${DIR_ORIGEN}/ | ||
+ | done | ||
+ | |||
+ | # calcula SHA1 directorios | ||
+ | declare -a DIRECTORIOS=(" | ||
+ | |||
+ | for directorio in " | ||
+ | |||
+ | DIRECTORIOS_TAR=" | ||
+ | |||
+ | ## leer checksum anterior, si existe | ||
+ | CHEKSUM_ANT="" | ||
+ | if [ -e " | ||
+ | CHEKSUM_ANT=$(cat " | ||
+ | fi | ||
+ | |||
+ | calcula_checksum $directorio | ||
+ | |||
+ | |||
+ | if [ " | ||
+ | CAMBIOS=" | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | done | ||
+ | |||
+ | |||
+ | if [ " | ||
+ | # compresión | ||
+ | tar zvcpf $DIR_ORIGEN/ | ||
+ | |||
+ | # | ||
+ | ${ENCHIVE_PATH} --pub-key=${BACKUP_PATH}/ | ||
+ | |||
+ | # borrado fichero original | ||
+ | rm -f ~/ | ||
+ | |||
+ | # renombrado | ||
+ | mv $FICHERO.tar.gz.enchive $FECHA-$FICHERO.tar.gz.enchive | ||
+ | |||
+ | else | ||
+ | touch $DIR_ORIGEN/ | ||
+ | fi | ||
+ | |||
+ | </ | ||
== v2 | == v2 | ||
* instalar llave pública contraseña GPG para encriptado fichero TAR (mover entre servidores sin problema) | * instalar llave pública contraseña GPG para encriptado fichero TAR (mover entre servidores sin problema) |