Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- DIR=/backup/mysql/
- DATESTAMP=$(date +%Y%m%d)
- DB_USER=your_backup_user
- DB_PASS=your_backup_user_password
- MTO="your@email.address"
- MSUB="Backup (`echo $USER @ $HOSTNAME`) as on `date`"
- MES=/tmp/mybackup.txt
- # remove backups older than $DAYS_KEEP
- DAYS_KEEP=30
- find ${DIR}* -mtime +$DAYS_KEEP -exec rm -f {} \; 2> /dev/null
- # create backups securely
- umask 006
- # list MySQL databases and dump each
- DB_LIST=`mysql -u $DB_USER -p"$DB_PASS" -e'show databases;'`
- DB_LIST=${DB_LIST##Database}
- for DB in $DB_LIST;
- do
- FILENAME=${DIR}${DB}-${DATESTAMP}.sql.gz
- echo "Backup of $FILENAME" > $MES
- mysqldump -u $DB_USER -p"$DB_PASS" --opt --flush-logs $DB | gzip > $FILENAME
- echo "Outputting $FILENAME "
- mutt -s "$MSUB" -a $FILENAME -- $MTO < $MES
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement