Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #MySQL Backup
- MyUSER=""
- MyPASS=""
- MyHOST=""
- MYSQL="$(which mysql)"
- MYSQLDUMP="$(which mysqldump)"
- CHOWN="$(which chown)"
- CHMOD="$(which chmod)"
- GZIP="$(which gzip)"
- DEST="/var/backups"
- MBD="$DEST/mysql"
- HOST="$(hostname)"
- NOW="$(date +"%d-%m-%Y")"
- # File to store current backup file
- FILE=""
- # Store list of databases
- DBS=""
- # DO NOT BACKUP these databases
- IGGY="example"
- [ ! -d $MBD ] && mkdir -p $MBD || :
- # Only root can access it!
- $CHOWN 0.0 -R $DEST
- $CHMOD 0600 $DEST
- # Get all database list first
- DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
- for db in $DBS
- do
- skipdb=-1
- if [ "$IGGY" != "" ];
- then
- for i in $IGGY
- do
- [ "$db" == "$i" ] && skipdb=1 || :
- done
- fi
- if [ "$skipdb" == "-1" ] ; then
- FILE="$MBD/$db.$HOST.$NOW.gz"
- # do all inone job in pipe,
- # connect to mysql using mysqldump for select mysql database
- # and pipe it out to gz file in backup dir :)
- $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
- fi
- done
- find $MBD -type f -mtime +14 -exec rm {} \;
Add Comment
Please, Sign In to add comment