Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Database Dump utility for MySQL. Put in cron like this:
- #
- # DUMPDIR='/home/example/DatabaseDumps' USER='dbuser' PASS='dbpass' DB='dbname' /path/to/dumpdb.sh
- #
- # (C) 2009 vjt@openssl.it
- #
- [ -z "$MAXAGE" ] && MAXAGE=744
- [ -z "$DUMPDIR" -o -z "$USER" -o -z "$PASS" -o -z "$DB" ] && {
- echo "Please pass correct environment: DUMPDIR ($DUMPDIR), USER ($USER), PASS ($PASS) and DB ($DB) [MAXAGE ($MAXAGE)]"
- exit 1
- }
- set -e
- current_md5() {
- md5sum $DUMPDIR/`ls -t1 $DUMPDIR | head -1` 2>/dev/null | awk '{print $1}'
- }
- # Dump
- previous_md5=`current_md5`
- dump="$DUMPDIR/`whoami`-`date +%Y%m%d`.sql.bz2"
- [ -f "$dump" ] && exit 0
- mysqldump -ec -u $USER -p$PASS $DB | grep -v '^-- Dump' | bzip2 -9 > $dump
- chmod 640 $dump
- #chgrp dropbox $dump
- # Cleanup
- [ "$previous_md5" = "`current_md5`" ] && rm -f $dump
- find $DUMPDIR -mtime $MAXAGE -exec rm -f {} \;
Add Comment
Please, Sign In to add comment