Guest User

Untitled

a guest
Aug 4th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. First create a my.cnf file like this
  2.  
  3. [mysqldump]
  4. user=
  5. password=
  6.  
  7. Then create the following script
  8.  
  9. #!/bin/bash
  10. # Shell script to backup MySQL database
  11.  
  12. CONFIG="/home2/examdevo/dailyBackup/my.cnf"
  13. DEST="/home2/examdevo/dailyBackup"
  14.  
  15. # How many days old files must be to be removed
  16. DAYS=3
  17.  
  18. MYSQL="$(which mysql)"
  19. MYSQLDUMP="$(which mysqldump)"
  20. GZIP="$(which gzip)"
  21.  
  22. # Get date in dd-mm-yyyy format
  23. NOW="$(date +"%d-%m-%Y_%s")"
  24.  
  25. # Create Backup sub-directories
  26. MBD="$DEST/$NOW/mysql"
  27. install -d $MBD
  28.  
  29. # DB skip list
  30. SKIP="information_schema
  31. another_one_db"
  32.  
  33. # Get all databases
  34. DBS="examdevo_germinate"
  35.  
  36. # Archive database dumps
  37. for db in $DBS
  38. do
  39. skipdb=-1
  40. if [ "$SKIP" != "" ];
  41. then
  42. for i in $SKIP
  43. do
  44. [ "$db" == "$i" ] && skipdb=1 || :
  45. done
  46. fi
  47.  
  48. if [ "$skipdb" == "-1" ] ; then
  49. FILE="$MBD/$db.sql"
  50. $MYSQLDUMP --defaults-extra-file=$CONFIG $db > $FILE
  51. fi
  52. done
  53.  
  54. # Archive the directory, send mail and cleanup
  55. cd $DEST
  56. tar -cf $NOW.tar $NOW
  57. $GZIP -9 $NOW.tar
  58.  
  59. rm -rf $NOW
  60.  
  61. # Remove old files
  62. find $DEST -mtime +$DAYS -exec rm -f {} \;
Add Comment
Please, Sign In to add comment