Advertisement
Guest User

Untitled

a guest
Aug 5th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.00 KB | None | 0 0
  1. #!/bin/sh
  2. # System + MySQL backup script
  3. # Copyright (c) 2008 Marchost
  4. # This script is licensed under GNU GPL version 2.0 or above
  5. # ---------------------------------------------------------------------
  6.  
  7. #########################
  8. ######TO BE MODIFIED#####
  9.  
  10. ### System Setup ###
  11. BACKUP=/home/mentes/mysql
  12. ### MySQL Setup ###
  13. MUSER="root"
  14. MPASS="*******"
  15. MHOST="localhost"
  16.  
  17. ### FTP server Setup ###
  18. #FTPD="YOUR_FTP_BACKUP_DIR"
  19. #FTPU="YOUR_FTP_USER"
  20. #FTPP="YOUR_FTP_USER_PASSWORD"
  21. #FTPS="YOUR_FTP_SERVER_ADDRESS"
  22.  
  23. ######DO NOT MAKE MODIFICATION BELOW#####
  24. #########################################
  25.  
  26. ### Binaries ###
  27. TAR="$(which tar)"
  28. GZIP="$(which gzip)"
  29. FTP="$(which ftp)"
  30. MYSQL="$(which mysql)"
  31. MYSQLDUMP="$(which mysqldump)"
  32.  
  33. ### Today + hour in 24h format ###
  34. #NOW=$(date +"%d%H")
  35. NOW=$(date +"%Y_%m_%d")
  36. ### Create hourly dir ###
  37.  
  38. mkdir $BACKUP/$NOW
  39.  
  40. ### Get all databases name ###
  41. DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
  42. for db in $DBS
  43. do
  44.  
  45. ### Create dir for each databases, backup tables in individual files ###
  46.   mkdir $BACKUP/$NOW/$db
  47.  
  48.     for i in `echo "show tables" | $MYSQL -u $MUSER -h $MHOST -p$MPASS $db|grep -v Tables_in_`;
  49.     do
  50.         FILE=$BACKUP/$NOW/$db/$i.sql.gz
  51.         echo $i; $MYSQLDUMP --add-drop-table --allow-keywords -q -c -u $MUSER -h $MHOST -p$MPASS $db $i | $GZIP -9 > $FILE
  52.     done
  53. done
  54.  
  55.                 ### Compress all tables in one nice file to upload ###
  56.  
  57.                 ARCHIVE=$BACKUP/$NOW/$NOW.tar.gz
  58.                 ARCHIVED=$BACKUP/$NOW
  59.  
  60.                 $TAR -cvf $ARCHIVE $ARCHIVED
  61.  
  62.                 ### Dump backup using FTP ###
  63. #               cd $BACKUP
  64. #               DUMPFILE=$NOW.tar.gz
  65. #               $FTP -n $FTPS <<END_SCRIPT
  66. #               quote USER $FTPU
  67. #               quote PASS $FTPP
  68. #               cd $FTPD
  69. #               mput $DUMPFILE
  70. #               quit
  71. #               END_SCRIPT
  72.  
  73.                 ### Delete the backup dir and keep archive ###
  74.  
  75. #               rm -rf $ARCHIVED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement