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:protocolobackup [15/02/2012 09:08] – mate | linux:scripts:protocolobackup [27/02/2012 10:20] (actual) – [scripts] mate | ||
|---|---|---|---|
| Línia 4: | Línia 4: | ||
| == esclavo | == esclavo | ||
| - | * crear una cuenta | + | * (1) crear cuenta específica para backups: '' |
| - | * copiar y configurar | + | * (4) crear directorio de ficheros de backups, |
| - | * configurar en la cuenta de ROOT los cron a ejecutar | + | * (5) configurar en la cuenta de ROOT los cron a ejecutar |
| - | * 01:00 -> eliminar ficheros de backup anteriores a 1 mes | + | * 01:00 -> eliminar ficheros de backup anteriores a 1 mes: '' |
| - | * 03:00 -> volcado TAR | + | * 02:00 -> volcado logs? |
| - | * 03:30 -> volcado BBDD | + | * 03:00 -> volcado TAR : '' |
| + | * 03:45 -> volcado BBDD: '' | ||
| + | * 04:15 -> encriptación si es necesaria: '' | ||
| == master | == master | ||
| - | * [[linux: | + | * (0) [[linux: |
| - | * copiarlo en el servidor remoto, en la cuenta creada a tal efecto | + | * (2) copiarlo en el servidor remoto, en la cuenta creada a tal efecto: '' |
| - | * generar nuevo script de conexión y descarga de archivos del esclavo | + | * (3) copiar los scripts de backup: '' |
| + | * (6) generar nuevo script de conexión y descarga de archivos del esclavo | ||
| * ¿sincronización o mantener histórico en master? | * ¿sincronización o mantener histórico en master? | ||
| - | * en esclavo solo los últimos 30 días -> '' | + | * en esclavo solo los últimos 30 días |
| + | == scripts | ||
| + | <code bash bck.ini> | ||
| + | # BACKUP FILES | ||
| + | # directorios de los que hacer backup, separado por espacio, sin / final | ||
| + | LISTA="/ | ||
| + | |||
| + | # RUTAS | ||
| + | # Local Directory for Dump Files | ||
| + | LOCALDIR=/ | ||
| + | |||
| + | # BDD | ||
| + | # Hostname | ||
| + | DBHOST=' | ||
| + | # dbuser | ||
| + | DBUSER=' | ||
| + | # dbpass | ||
| + | dbpasswd='' | ||
| + | |||
| + | |||
| + | # MISCELANEA | ||
| + | # Nombre del servidor | ||
| + | HOSTNAME=' | ||
| + | # Estampacion de fecha | ||
| + | FECHA=`eval date +%y%m%d` | ||
| + | </ | ||
| + | |||
| + | <code bash bck-files.sh> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # | ||
| + | # file system backup | ||
| + | # | ||
| + | |||
| + | source / | ||
| + | |||
| + | # crea un tar de los directorios especificados en LISTA | ||
| + | for directorio in $LISTA | ||
| + | do | ||
| + | DESTINO=`echo $directorio | sed -e ' | ||
| + | tar zcpf $LOCALDIR$FECHA-$HOSTNAME$DESTINO.tar.gz $directorio/ | ||
| + | done | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | <code bash bck-gpg.sh> | ||
| + | #!/bin/bash | ||
| + | FICHEROS=`ls *.tar.gz` | ||
| + | # FECHA=`eval date +%y%m%d` | ||
| + | |||
| + | |||
| + | for FICHERO in $FICHEROS | ||
| + | do | ||
| + | #encripta | ||
| + | gpg -r " | ||
| + | |||
| + | # borrado fichero original | ||
| + | # rm -f ~/$FICHERO | ||
| + | |||
| + | # renombrado | ||
| + | # mv $FICHERO.gpg $FECHA-$FICHERO.gpg | ||
| + | |||
| + | # borrado fichero encriptado | ||
| + | # rm -f $FECHA-$FICHERO.gpg | ||
| + | done | ||
| + | |||
| + | </ | ||
| + | |||
| + | <code bash bck-mysql.sh> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # | ||
| + | # APP | ||
| + | # | ||
| + | |||
| + | source / | ||
| + | |||
| + | # DBS=`mysql -u$DBUSER -h$DBHOST -e" | ||
| + | DBS=`mysql -u$DBUSER -p" | ||
| + | # existe version SED para eliminar /Database/ | ||
| + | |||
| + | for DATABASE in $DBS | ||
| + | do | ||
| + | if [ $DATABASE != " | ||
| + | FILENAME=$FECHA-$HOSTNAME-mysql-$DATABASE.sql.gz | ||
| + | mysqldump -u$DBUSER -p" | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | chmod 400 $LOCALDIR*.gz | ||
| + | |||
| + | #tar --remove-files -cf $TARPREFIX-$SUFFIX.tar $SUFFIX-*.gz | ||
| + | tar --remove-files -cf $LOCALDIR$FECHA-$HOSTNAME-mysql.tar $LOCALDIR$FECHA-$HOSTNAME-mysql*.gz | ||
| + | |||
| + | exit 0 | ||
| + | |||
| + | </ | ||
| + | == mejoras | ||
| + | * parametrizar ficheros que se encriptan | ||
| + | * quitar GZIP del mysqldump y hacer un TAR -cz ¿? | ||