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