Guest User

Untitled

a guest
Mar 8th, 2018
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. #!/bin/bash
  2. # Database Dump utility for MySQL. Put in cron like this:
  3. #
  4. # DUMPDIR='/home/example/DatabaseDumps' USER='dbuser' PASS='dbpass' DB='dbname' /path/to/dumpdb.sh
  5. #
  6. # (C) 2009 vjt@openssl.it
  7. #
  8.  
  9. [ -z "$MAXAGE" ] && MAXAGE=744
  10.  
  11. [ -z "$DUMPDIR" -o -z "$USER" -o -z "$PASS" -o -z "$DB" ] && {
  12. echo "Please pass correct environment: DUMPDIR ($DUMPDIR), USER ($USER), PASS ($PASS) and DB ($DB) [MAXAGE ($MAXAGE)]"
  13. exit 1
  14. }
  15.  
  16. set -e
  17.  
  18. current_md5() {
  19. md5sum $DUMPDIR/`ls -t1 $DUMPDIR | head -1` 2>/dev/null | awk '{print $1}'
  20. }
  21.  
  22. # Dump
  23. previous_md5=`current_md5`
  24. dump="$DUMPDIR/`whoami`-`date +%Y%m%d`.sql.bz2"
  25.  
  26. [ -f "$dump" ] && exit 0
  27.  
  28. mysqldump -ec -u $USER -p$PASS $DB | grep -v '^-- Dump' | bzip2 -9 > $dump
  29. chmod 640 $dump
  30. #chgrp dropbox $dump
  31.  
  32. # Cleanup
  33. [ "$previous_md5" = "`current_md5`" ] && rm -f $dump
  34. find $DUMPDIR -mtime $MAXAGE -exec rm -f {} \;
Add Comment
Please, Sign In to add comment