Advertisement
joachip

Monthly RAR backup of MySQL

Jun 5th, 2014
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.96 KB | None | 0 0
  1. #!/usr/local/bin/bash
  2. # monthly backup each mysql db into a different file, rather than one big file, for freebsd
  3. # as with --all-databases - will make restores easier
  4.  
  5. USER="root"
  6. PASSWORD="put_your_password_here"
  7. OUTPUTDIRFINAL="/backup"
  8. myfilename=`date +%Y_%m`
  9. MYSQLDUMP="/usr/local/bin/mysqldump"
  10. MYSQL="/usr/local/bin/mysql"
  11.  
  12. # clean up any old backups
  13. OUTPUTDIR=$OUTPUTDIRFINAL"/mysql"
  14. rm -rf "$OUTPUTDIR" > /dev/null 2>&1
  15. mkdir "$OUTPUTDIR"
  16. cd "$OUTPUTDIR"
  17.  
  18. # get a list of databases
  19. databases=`$MYSQL --user=$USER --password=$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
  20.  
  21. # dump each database in turn
  22. for db in $databases; do
  23.     echo $db
  24.     nice $MYSQLDUMP --force --opt --user=$USER --password=$PASSWORD --databases $db > "$OUTPUTDIR/$db.sql"
  25. done
  26.  
  27. cd ..
  28. nice /usr/local/bin/rar a -r -s -m4 "$myfilename""_mysql.rar" "mysql"
  29. rm -r "$OUTPUTDIR" > /dev/null 2>&1
  30.  
  31. # log events (optional)
  32. echo $myfilename >/tmp/cron_monthly.log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement