Add basic sql backup script

This script is currently only for racknerd host, and needs to be
altered for others, as well as having the password removed.
master
Nathan Steel 4 years ago
parent 89f7000a6d
commit 941727878a

@ -0,0 +1,27 @@
#!/bin/bash
# TODO: Use a password file instead of passing password to script
SERVER=racknerd
BACKUPDIR=/home/nathan/backups/$SERVER
DATE=$(date +%Y%m%d)
DBS="$(mysql -u admin -ppassword -Bse 'show databases' | egrep -v '^Database$|hold$' | grep -v 'performance_schema\|information_schema\|mysql')"
REMOTE=nathan@alphavps.aney.co.uk
REMOTEBACKUP=~/backups/sql/$SERVER
for DB in ${DBS[@]};
do
mkdir -p $BACKUPDIR/$DB
# Take the backup
mysqldump -u admin -ppassword $DB > $BACKUPDIR/$DB/${DB}_${DATE}
# tarball the backup
# Change the directory, to prevent backup to all path
cd $BACKUPDIR
tar -zcf $DB/${DB}_${DATE}.gz $DB/${DB}_${DATE}
# remove untarballed
rm $BACKUPDIR/$DB/${DB}_${DATE}
ssh nathan@alphavps.aney.co.uk mkdir -p $REMOTEBACKUP/$DB
scp $BACKUPDIR/$DB/${DB}_${DATE}.gz nathan@alphavps.aney.co.uk:$REMOTEBACKUP/$DB
done
Loading…
Cancel
Save