Guest User

Untitled

a guest
Mar 27th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. SERVER_NAME=SANTAOSACVIETVPS_BACKUP
  4.  
  5. TIMESTAMP=$(date +"%F")
  6. BACKUP_DIR="/root/backup/$TIMESTAMP"
  7. MYSQL_USER="root"
  8. MYSQL=/usr/bin/mysql
  9. MYSQL_PASSWORD="88888888"
  10. MYSQLDUMP=/usr/bin/mysqldump
  11. SECONDS=0
  12.  
  13. mkdir -p "$BACKUP_DIR/mysql"
  14.  
  15. echo "Bat dau Backup Database";
  16. databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql)"`
  17.  
  18. for db in $databases; do
  19. $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
  20. done
  21. echo "Da backup xong";
  22. echo '';
  23.  
  24. echo "Bat dau Backup Website";
  25. # Loop through /home directory
  26. for D in /home/*; do
  27. if [ -d "${D}" ]; then #If a directory
  28. domain=${D##*/} # Domain name
  29. echo "- "$domain;
  30. zip -r $BACKUP_DIR/$domain.zip /home/$domain/public_html/ -q -x /home/$domain/public_html/wp-content/cache/**\* #Exclude cache
  31. fi
  32. done
  33. echo "Da backup xong";
  34. echo '';
  35.  
  36. echo "Bat dau backup Nginx Configuration";
  37. cp -r /etc/nginx/conf.d/ $BACKUP_DIR/nginx/
  38. echo "Da backup xong";
  39. echo '';
  40.  
  41. size=$(du -sh $BACKUP_DIR | awk '{ print $1}')
  42.  
  43. echo "Bat dau backup len GG";
  44. /usr/sbin/rclone move $BACKUP_DIR "remote:$SERVER_NAME/$TIMESTAMP" >> /var/log/rclone.log 2>&1
  45. # Clean up
  46. rm -rf $BACKUP_DIR
  47. /usr/sbin/rclone -q --min-age 2w delete "remote:$SERVER_NAME" #Remove all backups older than 2 week
  48. /usr/sbin/rclone -q --min-age 2w rmdirs "remote:$SERVER_NAME" #Remove all empty folders older than 2 week
  49. /usr/sbin/rclone cleanup "remote:" #Cleanup Trash
  50. echo "Da backup xong";
  51. echo '';
  52.  
  53. duration=$SECONDS
  54. echo "Total $size, $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
Add Comment
Please, Sign In to add comment