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 [25/01/2013 08:21] – 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 | ||
+ | * instalar llave pública contraseña GPG para encriptado fichero TAR (mover entre servidores sin problema) | ||
+ | * Para desencriptar, | ||
+ | * volcado ficheros en $HOME para que " | ||
+ | * volcado BBDD **mysqldump** con usuario poco privilegiado (SELECT) <- declaradas ARRAY | ||
+ | |||
+ | <code bash backup_fs_gpg.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | function calcula_checksum() { | ||
+ | # calcula el SHA1 de los ficheros contenidos en el directorio pasado por parámetroe | ||
+ | |||
+ | TMP=$(find " | ||
+ | CHEKSUM_ACT=$(echo $TMP | cut -d " " -f1) | ||
+ | unset TMP | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | FICHERO=" | ||
+ | DIR_ORIGEN="/ | ||
+ | FECHA=`eval date +%y%m%d` | ||
+ | CAMBIOS=" | ||
+ | DBB_HOST=" | ||
+ | DBB_USER=" | ||
+ | DBB_PASSWORD=" | ||
+ | DIRECTORIOS_TAR="" | ||
+ | |||
+ | # backup BBDD | ||
+ | declare -a BBDD=(" | ||
+ | for BDD in " | ||
+ | / | ||
+ | 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 ~/ | ||
+ | |||
+ | # | ||
+ | gpg --trust-model always -r " | ||
+ | |||
+ | # borrado fichero original | ||
+ | rm -f ~/ | ||
+ | |||
+ | # renombrado | ||
+ | mv $FICHERO.tar.gz.gpg $FECHA-$FICHERO.tar.gz.gpg | ||
+ | |||
+ | # copia | ||
+ | ## scp -i ~/ | ||
+ | |||
+ | # borrado fichero encriptado | ||
+ | ## rm -f $FECHA-$FICHERO.tar.gz.gpg | ||
+ | else | ||
+ | touch $DIR_ORIGEN/ | ||
+ | ## scp -i ~/ | ||
+ | ## rm -f $DIR_ORIGEN/ | ||
+ | |||
+ | fi | ||
+ | </ | ||
+ | <code txt Llave pública> | ||
+ | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
+ | |||
+ | mQENBFWTLEsBCADPGYcDAMfzYLivjin9FgFGS3xQOmV4YAmN2poNkfUFSnUHgAZo | ||
+ | 6Kte1cXBN7TSoCMq7ExXE8xwTAHyMIuOGUfmuLHg/ | ||
+ | 8kliCpBq4/ | ||
+ | 8LMpnPR92tEvtSnpUMkk71AaHKEBWd+XOWywMddz0us/ | ||
+ | mSJKGmZVE5MAetJgBQ1Fy8Wak7VTwsxx33E0zAYzZjW6PfUecA67dy/ | ||
+ | c3oQt9RoLGWQYMBWi2dmTC1dWbBwUIxhwl73ABEBAAG0Nk1pZ3VlbCBBbmdlbCBU | ||
+ | b3JyZXMgRWdlYSAoYmFja3VwcykgPG1hdGViY25AZ21haWwuY29tPokBOAQTAQIA | ||
+ | IgUCVZMsSwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQaInNFkRv/ | ||
+ | twf+LFrq4kR2LTG6G6lE+NUIV5vPB9UZ6QNnhn/ | ||
+ | QkHl+BLs5nswdUnEhNGah3Eg6eEzQijwsHr7FDr/ | ||
+ | qoRTgt00l5793U/ | ||
+ | hXOKyBiFvdAHVc6Lz5vhEDzDbnRH5Q+A/ | ||
+ | FfH/ | ||
+ | ZejRkKGuZIQzs3ibc1W/ | ||
+ | qbhv9J1RYM/ | ||
+ | 9nzmaSX7B6lPOximCNCN6qYpABPPfLv0mVx/ | ||
+ | CD3i1VVPJ+YVWBH8A10EjH3eb8KLKG9R0gO2ru5UiBK8W48UQlh5XUWQr2oPvU4U | ||
+ | z+wAFyEHr18sMFnimzL1IERmZ2EBrWl7p9u/ | ||
+ | UIDkNI1UIeX3DJXvoGlwVm/ | ||
+ | AQABiQEfBBgBAgAJBQJVkyxLAhsMAAoJEGiJzRZEb/ | ||
+ | bKbuFyLdlqBnlT2w49tgTRRimOfKpZBpQ4xVAtC/ | ||
+ | 85+sXUfputCXRTCYk0da4fvi424gmFl2/ | ||
+ | 2P0K51hOSQ9YR7O2g561Aw3tMmylA9sWYoDXXUO+MK5Fx1OzGAo6PKqavp+QvEHQ | ||
+ | HZhNeqYVHfYabPtWgW3RpwKgFDyCGwZ9BYrukq4ReubicyIsthxLhAXK6qUT4hVz | ||
+ | 2ZQZ7Tvsoe6Qv2WBT0e7KPmuhe1n8jrxqD2DFYfrbwN6n/ | ||
+ | s4ItKkM= | ||
+ | =PS0g | ||
+ | -----END PGP PUBLIC KEY BLOCK----- | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | == v1 | ||
Instalando GPG y tu clave pública, encriptas el contenido del TAR poniéndote a tí como destinatario, | Instalando GPG y tu clave pública, encriptas el contenido del TAR poniéndote a tí como destinatario, | ||
Línia 26: | Línia 253: | ||
</ | </ | ||
+ | |||
Para desencriptar, | Para desencriptar, |