Advertisement
Guest User

Untitled

a guest
Nov 7th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #!/bin/bash
  2. ## PATHS ##
  3. LOG_PATH=/var/zzscriptzz/MySQLBackup/backup.log
  4. DUMP_PATH=/home/[YOUR_USER]/backups/db
  5. ## PATHS ##
  6.  
  7. ## DB Config ##
  8. DB_HOST=localhost
  9. DB_USER="dbbackup"
  10. DB_PASSWORD="[YOUR_DBBACKUP_USER_PASSWORD]"
  11. declare -a DATABASES=("database1" "database2" "database3")
  12. ## DB Config ##
  13.  
  14. ## APPS Config ##
  15. REMOTE_DRIVE=GDrive
  16. REMOTE_DRIVE_BKP=BKP
  17.  
  18. BKP_ARCHIVE_PASSWORD="[7ZIP_ARCHIVE_PASSWORD]"
  19. BKP_ARCHIVE_OPTIONS="a -m0=LZMA -mx=9 -mmt=on -mfb=64 -p$BKP_ARCHIVE_PASSWORD"
  20.  
  21. DUMP_OPTS="-Q --skip-lock-tables --single-transaction"
  22. ## APPS Config ##
  23.  
  24.  
  25. RCLONE="$(which rclone)"
  26. ZIPARCHIVER="$(which 7z)"
  27. FIND="$(which find)"
  28. MYSQLDUMP="$(which mysqldump)"
  29. DATE="$(which date)"
  30.  
  31. TIMESTAMP=`$DATE +%Y-%m-%d`
  32. cd $DUMP_PATH
  33.  
  34. $FIND $DUMP_PATH -name "*.7z" -mtime +28 -exec rm -f {} \;
  35.  
  36. ## now loop through the above array
  37. for db in "${DATABASES[@]}"
  38. do
  39.  
  40. $MYSQLDUMP $DUMP_OPTS -u $DB_USER -h $DB_HOST -p$DB_PASSWORD $db > $db.sql
  41.  
  42. $ZIPARCHIVER $BKP_ARCHIVE_OPTIONS "$DUMP_PATH/$TIMESTAMP.$db.7z" $db.sql
  43.  
  44. $RCLONE copy "$DUMP_PATH/$TIMESTAMP.$db.7z" $REMOTE_DRIVE:$REMOTE_DRIVE_BKP
  45.  
  46. ERR=$?
  47. if [ $ERR != 0 ]; then
  48. NOTIFY_MESSAGE="$TIMESTAMP Error: $ERR, while backing up database: $db"
  49. else
  50. NOTIFY_MESSAGE="$TIMESTAMP Successfully backed up database: $db"
  51. fi
  52. echo $NOTIFY_MESSAGE 1>> $LOG_PATH
  53. rm -f *.sql
  54. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement