Advertisement
Guest User

Untitled

a guest
Jul 19th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. #!/bin/bash
  2. set -e
  3.  
  4. # VARIABLES
  5. current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  6. project=`uname -n`
  7. backup_dir=`mktemp -d "${TMPDIR:-/tmp}"/${project}.backup.XXXX`
  8. today=`date +'%Y-%m-%d'`
  9. at="at `echo $(date)`"
  10. backup_log=/var/log/backup-website.log
  11. docroot=/var/www/<yourfolder>
  12. apache_settings=/etc/apache2
  13. server_logs=/var/log/apache2
  14. bucket=<yourbucket>
  15. dbhost=`cat ${docroot}/wp-config.php | grep -ns "^define('DB_HOST'" | cut -d \' -f 4`
  16. dbuser=`cat ${docroot}/wp-config.php | grep -ns "^define('DB_USER'" | cut -d \' -f 4`
  17. dbname=`cat ${docroot}/wp-config.php | grep -ns "^define('DB_NAME'" | cut -d \' -f 4`
  18. dbpass=`cat ${docroot}/wp-config.php | grep -ns "^define('DB_PASSWORD'" | cut -d \' -f 4`
  19.  
  20. exec &>> ${backup_log}
  21.  
  22. echo "started backup ${at}"
  23. # BACKUP DIRECTORY
  24. cd ${backup_dir}
  25.  
  26. # BACKUP - DATABASE
  27. echo "creating mysqldump ${at}"
  28. mysqldump -h ${dbhost} -u ${dbuser} -p${dbpass} ${dbname} | gzip -9 -c > ${today}-${project}-${dbname}.sql.gz
  29. echo "backed up database `ls -i *.sql.gz` ${at}"
  30.  
  31. # BACKUP WWW FILES
  32. tar --exclude='.git' -czvf ${today}-${project}-www.tar.gz ${docroot}
  33.  
  34. # BACKUP APACHE SETTINGS
  35. tar --exclude='.git' -czvf ${today}-${project}-apache.tar.gz ${apache_settings}
  36.  
  37. # BACKUP APACHE LOGS
  38. mkdir ${backup_dir}/logs && cp -r --parents ${server_logs} ${backup_dir}/logs
  39. tar -czvf ${today}-${project}-logs.tar.gz ${backup_dir}/logs
  40. rm -rf ${backup_dir}/logs
  41.  
  42. # SYNC TO S3
  43. echo "uploading to s3 now ${at}"
  44. s3cmd sync . --recursive --exclude '*.*' --include '*.gz' --no-progress --no-guess-mime-type --acl-private s3://${bucket}/${today}/
  45. echo "uploaded ${at} `s3cmd ls s3://${bucket}/${today}/`"
  46. cd ${current_dir}
  47.  
  48. # CLEANUP
  49. echo "removing backup directory: ${backup_dir} ${at}"
  50. rm -rf ${backup_dir}
  51.  
  52. echo "ended backup ${at}"
  53.  
  54. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement