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, | ||