Taula de continguts

Protocolo de Backup

esclavo

master

scripts

bck.ini
# BACKUP FILES
# directorios de los que hacer backup, separado por espacio, sin / final
LISTA="/etc /home/mate"
 
# RUTAS
# Local Directory for Dump Files
LOCALDIR=/home/bck/
 
# BDD
# Hostname
DBHOST='localhost'
# dbuser
DBUSER='root'
# dbpass
dbpasswd=''
 
 
# MISCELANEA
# Nombre del servidor
HOSTNAME='pandora'
# Estampacion de fecha
FECHA=`eval date +%y%m%d`
bck-files.sh
#!/bin/bash
 
#
# file system backup
#
 
source /home/bck/bck.ini
 
# crea un tar de los directorios especificados en LISTA
for directorio in $LISTA
do
    DESTINO=`echo $directorio | sed -e 's/\//-/g'`
    tar zcpf $LOCALDIR$FECHA-$HOSTNAME$DESTINO.tar.gz $directorio/*
done
 
exit 0
bck-gpg.sh
#!/bin/bash
FICHEROS=`ls *.tar.gz`
# FECHA=`eval date +%y%m%d`
 
 
for FICHERO in $FICHEROS
do
  #encripta
  gpg -r "Miguel Angel Torres" --encrypt $FICHERO
 
  # borrado fichero original
  # rm -f ~/$FICHERO
 
  # renombrado
  # mv $FICHERO.gpg $FECHA-$FICHERO.gpg
 
  # borrado fichero encriptado
  # rm -f $FECHA-$FICHERO.gpg
done
bck-mysql.sh
#!/bin/bash
 
#
# APP
#
 
source /home/bck/bck.ini
 
# DBS=`mysql -u$DBUSER -h$DBHOST -e"show databases"`
DBS=`mysql -u$DBUSER -p"$DBPASSWD" -h"$DBHOST" -e"show databases"`
# existe version SED para eliminar /Database/
 
for DATABASE in $DBS
do
        if [ $DATABASE != "Database" ]; then
                FILENAME=$FECHA-$HOSTNAME-mysql-$DATABASE.sql.gz
                mysqldump -u$DBUSER -p"$DBPASSWD" -h"$DBHOST" $DATABASE | gzip --best > $LOCALDIR$FILENAME
        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