djbill
27/06/2016, 10:43
Publicado inicialmente por tonysanchez
ccrypt -k mypassword $TMP_DIR/mysql-$i-$FECHA.sql.bz2
#!/bin/bash # Script que crea un backup de ISPConfig 3.0.5 en Debian 7 # Definicion de funciones function log { curenttime_x=`date "+%Y-%m-%d %H:%M:%S"` echo "$curenttime_x - $1 $2 $3 $4 $5 $6 $7 $8 $9" >> $LOG_DIR/$LOG_FILE } function email { echo "Subject: `hostname` ISPConfig3 backup `date +'%F'` log" > $TMP_DIR/$EML_FILE echo "From: localhost@`hostname`" >> $TMP_DIR/$EML_FILE echo "To: $EMAILTO" >> $TMP_DIR/$EML_FILE echo "" >> $TMP_DIR/$EML_FILE cat $1 $2 $3 $4 $5 $6 $7 $8 $9 >> $TMP_DIR/$EML_FILE cat $TMP_DIR/$EML_FILE | /usr/sbin/sendmail -t rm -f $TMP_DIR/$EML_FILE 2>/dev/null } function check_dirs { if [ -d $BACKUP_DIR ]; then log "--Directory $BACKUP_DIR exists" else mkdir -p $BACKUP_DIR log "--Directory $BACKUP_DIR created" fi if [ -d $LOG_DIR ]; then log "--Directory $LOG_DIR exists" else mkdir -p $LOG_DIR log "--Directory $LOG_DIR created" fi if [ -d $TMP_DIR ]; then log "--Directory $TMP_DIR exists" else mkdir -p $TMP_DIR log "--Directory $TMP_DIR created" fi } #Definicion de variables #Direccion de email para enviar los log EMAILTO=tudirecciondecorreo@gmail.com #define fecha YYYYmmddHHMMSS FECHA=`date '+%Y%m%d%H%M%S'` #define backup_dir BACKUP_DIR=/backup/`hostname` #define backup_file BACKUP_FILE=ISPConfig-Backup-`hostname`_$FECHA.tar.gz #define log_dir LOG_DIR=$BACKUP_DIR/log #define log_file LOG_FILE=ISPConfig-Backup-`hostname`_$FECHA.log #define tmp_dir TMP_DIR=$BACKUP_DIR/tmp #define eml_file EML_FILE=ISPConfig-Backup-`hostname`_$FECHA.eml #Ejecucion del backup # Backup de ficheros de ISPConfig log "Inicio del Backup" check_dirs log "-Backup of "/usr/local/ispconfig" directory..." tar pcfz $TMP_DIR/ispconfig-software_$FECHA.tar.gz /usr/local/ispconfig 2> /dev/null # Backup de ficheros de configuracion log "-Backup of "/etc" directory..." tar pcfz $TMP_DIR/etc_$FECHA.tar.gz /etc 2> /dev/null # Backup de BBDD log "-Backup of MySQL Databases" for i in `mysql -Bse 'show databases'`; do log "--Starting mysqldump of $i" mysqldump $i | bzip2 > $TMP_DIR/mysql-$i-$FECHA.sql.bz2 log "--Dump of $i done" done log "Fin del Backup" # Empaquetado de todos los ficheros de backup log "Inicio del empaquetado y compresion de todos los ficheros de backup" tar czvf $BACKUP_DIR/$BACKUP_FILE $TMP_DIR/ispconfig-software_$FECHA.tar.gz $TMP_DIR/etc_$FECHA.tar.gz $TMP_DIR/mysql-*-$FECHA.sql.bz2 log "Fin del empaquetado y compresion de todos los ficheros de backup" # Copia a CLOUD log "Copiando $BACKUP_DIR/$BACKUP_FILE a CLOUD en /Root/Backup_`hostname`" /usr/local/bin/megaput --no-ask-password --no-progress --reload --config=/root/.megarc --path=/Root/Backup_`hostname` $BACKUP_DIR/$BACKUP_FILE 2>/dev/null log "Finalizada la copia en CLOUD" # Limpieza de Temporales log "Borrado de ficheros antiguos y temporales" find $LOG_DIR -name "ISPConfig-Backup-`hostname`_*.log" -mtime +6 >>$LOG_DIR/$LOG_FILE 2>/dev/null find $LOG_DIR -name "ISPConfig-Backup-`hostname`_*.log" -mtime +6 -exec rm -f '{}' \; 2>/dev/null find $TMP_DIR -name "mysql-*-*.sql.bz2" -mtime +6 >>$LOG_DIR/$LOG_FILE 2>/dev/null find $TMP_DIR -name "mysql-*-*.sql.bz2" -mtime +6 -exec rm -f '{}' \; 2>/dev/null find $TMP_DIR -name "etc_*.tar.gz" -mtime +6 >>$LOG_DIR/$LOG_FILE 2>/dev/null find $TMP_DIR -name "etc_*.tar.gz" -mtime +6 -exec rm -f '{}' \; 2>/dev/null find $TMP_DIR -name "ispconfig-software_*.tar.gz" -mtime +6 >>$LOG_DIR/$LOG_FILE 2>/dev/null find $TMP_DIR -name "ispconfig-software_*.tar.gz" -mtime +6 -exec rm -f '{}' \; 2>/dev/null find $BACKUP_DIR -name "ISPConfig-Backup-`hostname`_*.tar.gz" -mtime +6 >>$LOG_DIR/$LOG_FILE 2>/dev/null find $BACKUP_DIR -name "ISPConfig-Backup-`hostname`_*.tar.gz" -mtime +6 -exec rm -f '{}' \; 2>/dev/null log "Fin del Script" #Envio por email del fichero de log. email $LOG_DIR/$LOG_FILE exit 0
[Login] Username=tuusuario Password=tupassword
[client] password=password_root_mysql [mysqldump] password=password_root_mysql