Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- First create a my.cnf file like this
- [mysqldump]
- user=
- password=
- Then create the following script
- #!/bin/bash
- # Shell script to backup MySQL database
- CONFIG="/home2/examdevo/dailyBackup/my.cnf"
- DEST="/home2/examdevo/dailyBackup"
- # How many days old files must be to be removed
- DAYS=3
- MYSQL="$(which mysql)"
- MYSQLDUMP="$(which mysqldump)"
- GZIP="$(which gzip)"
- # Get date in dd-mm-yyyy format
- NOW="$(date +"%d-%m-%Y_%s")"
- # Create Backup sub-directories
- MBD="$DEST/$NOW/mysql"
- install -d $MBD
- # DB skip list
- SKIP="information_schema
- another_one_db"
- # Get all databases
- DBS="examdevo_germinate"
- # Archive database dumps
- for db in $DBS
- do
- skipdb=-1
- if [ "$SKIP" != "" ];
- then
- for i in $SKIP
- do
- [ "$db" == "$i" ] && skipdb=1 || :
- done
- fi
- if [ "$skipdb" == "-1" ] ; then
- FILE="$MBD/$db.sql"
- $MYSQLDUMP --defaults-extra-file=$CONFIG $db > $FILE
- fi
- done
- # Archive the directory, send mail and cleanup
- cd $DEST
- tar -cf $NOW.tar $NOW
- $GZIP -9 $NOW.tar
- rm -rf $NOW
- # Remove old files
- find $DEST -mtime +$DAYS -exec rm -f {} \;
Add Comment
Please, Sign In to add comment