Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #setting applictation variables
- MYSQL=/usr/bin/mysql
- MYSQLDUMP=/usr/bin/mysqldump
- RSYNC=/usr/bin/rsync
- GZIP=/bin/gzip
- SU=/bin/su
- SSH=/usr/bin/ssh
- RM=/bin/rm
- #setting User / Password and File location / Host variables
- MYSQLUSER=root
- PASS=secretPass
- USER=test-bak
- KEY=/home/test-bak/.ssh/id_rsa.pub
- DUMPFILE=dbs_beezag-backup-`date +%m-%d-%y`.sql
- DPATH=/home/test-bak/backupdb
- RHOST=backup
- RPATH=/home/test-bak/backupdb
- LPATH=/home/test-bak/backupdb/*
- echo ' '
- echo "Database backup script is beginning"
- echo ' '
- sleep 5
- $MYSQL -u$MYSQLUSER -p$PASS -e 'USE dbs_beezag; FLUSH TABLES WITH READ LOCK;'
- echo "Attempting to FLUSH TABLES on dbs_beezag with READ LOCK"
- echo ' '
- sleep 5
- if [ $? == 0 ];
- then
- echo "Flushing the tables on dbs_beezag with READ LOCK - SUCCESS"
- else
- echo "Error on FLUSH TABLES with READ LOCK on dbs_beezag"
- fi
- echo ' '
- sleep 5
- echo "Attempting to dump the database dbs_beezag to file: $DUMPFILE"
- echo ' '
- $MYSQLDUMP -u$MYSQLUSER -p$PASS dbs_beezag > $DPATH/$DUMPFILE
- sleep 5
- if [ $? == 0 ];
- then
- echo "MySQL DUMP of dbs_beezag to $DUMPFILE SUCCESS"
- else
- echo "MySQL DUMP of dbs_beezag to $DUMPFILE FAIL"
- fi
- echo ' '
- sleep 5
- echo "Attempting UNLOCK TABLES on dbs_beezag"
- echo ' '
- $MYSQL -u$MYSQLUSER -p$PASS -e 'UNLOCK TABLES'
- if [ $? == 0 ];
- then
- echo "UNLOCK TABLES on dbs_beezag SUCCESS"
- else
- echo "UNLOCK TABLES on dbs_beezag FAIL"
- fi
- echo ' '
- sleep 5
- echo "Saving sapce with GZIP: creating $DUMPFILE.gz"
- echo ' '
- $GZIP $DPATH/$DUMPFILE
- if [ $? == 0 ];
- then
- echo "GZIP SUCCESS: $DUMPFILE.gz created"
- else
- echo "GZIP on $DUMPFILE FAIL"
- fi
- echo ' '
- sleep 5
- # switching to user "test-bak", and executing the 'rsync' command
- echo "Attemtping to RSYNC the file $DUMPFILE.gz to an offsite remote location"
- echo ' '
- $SU -c "$RSYNC -az -e $SSH -i $KEY $LPATH $USER@$RHOST:$RPATH" $USER
- echo ' '
- if [ $? == 0 ];
- then
- echo ' '
- echo "RSYNC dbs_beezag backup file: $DUMPFILE.gz to offsite storage SUCCESS"
- else
- echo ' '
- echo "RSYNC dbs_beezag backup file: $DUMPTFILE to offsite storage FAIL"
- fi
- echo ' '
- sleep 5
- echo "Attempting to remove local copy of dbs_beezag backup"
- echo ' '
- $RM $DPATH/$DUMPFILE.gz
- if [ $? == 0 ];
- then
- echo "Remove local copy of $DUMPFILE.gz backup SUCCESS"
- else
- echo "Remove local copy of $DUMPFILE.gz backup FAIL"
- fi
- echo ' '
- sleep 10
- echo "Database backup script is finished"
- echo "*******"
- echo ' '
- echo "DONE and DONE"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement