Tweaks to SQL backup

master
Nathan Steel 2 years ago
parent da960b7292
commit bc6e1014d7

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

Loading…
Cancel
Save