initial commit
This commit is contained in:
parent
cb3cb5c3ea
commit
d78abf73fc
65
mysqldump-aes.sh
Normal file
65
mysqldump-aes.sh
Normal file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
LOGFILE="/var/log/mysqldumps.log"
|
||||
function log {
|
||||
echo "$(date) - $1" >> $LOGFILE
|
||||
}
|
||||
|
||||
MYSQLBIN=/usr/bin
|
||||
MYSQLBACKUPPATH="/db-dumps"
|
||||
MYSQLUSER="root"
|
||||
MYSQLPASS="3/FFzU|-F+Xu"
|
||||
RETENTION=14
|
||||
FAILFLAG=0
|
||||
AESPASS=/usr/local/soap/bin/aes-passphrase
|
||||
|
||||
# Specify connection method
|
||||
#MYSQLCONN=""
|
||||
MYSQLCONN="-S /u03/mysql/mysql.sock"
|
||||
|
||||
log "========== Starting Database Dumps ==========" >> $LOGFILE
|
||||
|
||||
# Script begins
|
||||
DATABASES=`$MYSQLBIN/mysql -u${MYSQLUSER} -p${MYSQLPASS} ${MYSQLCONN} -Nse "show databases;"`
|
||||
if [ $? -gt 0 ]; then
|
||||
log "========== Error: Could not execute 'show databases' =========="
|
||||
FAILFLAG=1
|
||||
fi
|
||||
|
||||
# clean up stale archives
|
||||
find $MYSQLBACKUPPATH -name "MYB*" -type d -mtime +$RETENTION | xargs rm -Rf
|
||||
|
||||
# create dated directory
|
||||
DATESTAMP=$(date +%Y%m%d)
|
||||
DSTDIR=${MYSQLBACKUPPATH}/MYB-${DATESTAMP}
|
||||
mkdir -vp $DSTDIR
|
||||
|
||||
# backup dataabse individually
|
||||
# possibly use background and wait to do this in parallel
|
||||
# but need to check each bg process's exit code!
|
||||
|
||||
for DB in $DATABASES; do
|
||||
case ${DB} in
|
||||
information_schema|performance_schema)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
log "Backup up ${DB}"
|
||||
$MYSQLBIN/mysqldump --opt --routines -u${MYSQLUSER} -p${MYSQLPASS} ${MYSQLCONN} ${DB} > ${DSTDIR}/${DB}.sql 2>> $LOGFILE
|
||||
if [ $? -gt 0 ]; then
|
||||
log "Backup of ${DB} failed"
|
||||
FAILFLAG=1
|
||||
fi
|
||||
gzip -fc ${DSTDIR}/${DB}.sql | openssl enc -aes-256-cbc -salt -out ${DSTDIR}/${DB}.sql.gz.aes -pass file:/usr/local/soap/bin/aes-passphrase
|
||||
rm -f ${DSTDIR}/${DB}.sql
|
||||
done
|
||||
|
||||
if [ $FAILFLAG -gt 0 ]; then
|
||||
log "========== Errors Encountered During Data Dump =========="
|
||||
else
|
||||
log "========== All Databases Dumped Successfully =========="
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user