Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- MyUSER="" # USERNAME
- MyPASS="" # PASSWORD
- MyHOST="localhost" # Hostname
- # Backup Dest directory, change this if you have someother location
- DEST="/backup"
- # Main directory where backup will be stored
- MBD="$DEST/mysql"
- mkdir -p "$MBD"
- #creates a temporary directory and then after first command completes the 2nd removes it
- tmpdir=$(mktemp -d /backup/tmpXXXXXX); trap 'rm -rf "$tmpdir"' EXIT;
- # Get data in dd-mm-yyyy format
- NOW="$(date +"%d-%m-%Y")"
- # File to store current backup file
- FILE=""
- # Store list of databases
- DBS=""
- # DO NOT BACKUP these databases
- IGGY="information_schema"
- # Only root can access it!
- chown 0.0 -R "$DEST"
- chmod 0700 "$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="$tmpdir/$db.$HOSTNAME.$NOW.sql"
- # 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" > "$FILE"
- fi
- done
- ( cd "$tmpdir" && tar -zcf /backup/mysqldumps.tar.gz *.sql )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement