Advertisement
Guest User

Untitled

a guest
May 12th, 2017
561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #
  4. # For create user `GRANT LOCK TABLES, SELECT ON DATABASE.* TO 'BACKUPUSER'@'%' IDENTIFIED BY 'PASSWORD';`
  5. #
  6.  
  7. #### MySQL CREDENTIAL ###
  8.  
  9. HOST='localhost'
  10. USER='root'
  11. PASSWD=''
  12. DBS='db01 db02 db03' # Databases separated by spaces
  13. BACKUPDIRECTORY='/tmp/' # Ex: /tmp/
  14. EMAIL='pepito@mail.com'
  15.  
  16. #### MySQL CREDENTIAL ###
  17.  
  18. basesize=800 # Base size compare 785 normal to mysqldump
  19. d=$(date +%Y-%m-%d_%H%M%S)
  20.  
  21. echo $(date +%Y-%m-%d' '%H:%M:%S)' Starting backup on '$HOST
  22. echo $(date +%Y-%m-%d' '%H:%M:%S)' Starting backup on '$HOST >> backup_$d.log
  23.  
  24. echo $(date +%Y-%m-%d' '%H:%M:%S)' Saving on '$BACKUPDIRECTORY
  25. echo $(date +%Y-%m-%d' '%H:%M:%S)' Saving on '$BACKUPDIRECTORY >> backup_$d.log
  26.  
  27. # create dump file by database with date
  28. for DB in $DBS
  29. do
  30. filename=$DB'_'$d'.sql.gz'
  31. path=$BACKUPDIRECTORY$filename
  32.  
  33. echo $(date +%Y-%m-%d' '%H:%M:%S)" Init "$filename
  34. echo $(date +%Y-%m-%d' '%H:%M:%S)" Init "$filename >> backup_$d.log
  35. (mysqldump -h $HOST -u $USER --password=$PASSWD $DB | gzip > $path) 2> error_$d.log
  36.  
  37. size=$(cat $path | wc -c)
  38.  
  39. # check file dump is valid
  40. if [ $size -lt $basesize ]; then
  41. echo $(date +%Y-%m-%d' '%H:%M:%S)" * "$filename" failed *"
  42. echo $(date +%Y-%m-%d' '%H:%M:%S)" * "$filename" failed *" >> backup_$d.log
  43. rm -f $path
  44. else
  45. echo $(date +%Y-%m-%d' '%H:%M:%S)" - "$filename" ready"
  46. echo $(date +%Y-%m-%d' '%H:%M:%S)" - "$filename" ready" >> backup_$d.log
  47. fi
  48. done
  49.  
  50. echo $(date +%Y-%m-%d' '%H:%M:%S)' Finish backup'
  51. echo $(date +%Y-%m-%d' '%H:%M:%S)' Finish backup' >> backup_$d.log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement