1
0

backup.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://blog.linuxeye.com
  4. #
  5. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  6. #
  7. # Project home page:
  8. # https://oneinstack.com
  9. # https://github.com/lj2007331/oneinstack
  10. cd tools
  11. . ../options.conf
  12. DB_Local_BK() {
  13. for D in `echo $db_name | tr ',' ' '`
  14. do
  15. ./db_bk.sh $D
  16. done
  17. }
  18. DB_Remote_BK() {
  19. for D in `echo $db_name | tr ',' ' '`
  20. do
  21. ./db_bk.sh $D
  22. DB_GREP="DB_${D}_`date +%Y`"
  23. DB_FILE=`ls -lrt $backup_dir | grep ${DB_GREP} | tail -1 | awk '{print $NF}'`
  24. echo "file:::$backup_dir/$DB_FILE $backup_dir push" >> config_bakcup.txt
  25. echo "com:::[ -e "$backup_dir/$DB_FILE" ] && rm -rf $backup_dir/DB_${D}_$(date +%Y%m%d --date="$expired_days days ago")_*.tgz" >> config_bakcup.txt
  26. done
  27. }
  28. WEB_Local_BK() {
  29. for W in `echo $website_name | tr ',' ' '`
  30. do
  31. ./website_bk.sh $W
  32. done
  33. }
  34. WEB_Remote_BK() {
  35. for W in `echo $website_name | tr ',' ' '`
  36. do
  37. if [ `du -sm "$wwwroot_dir/$WebSite" | awk '{print $1}'` -lt 1024 ];then
  38. ./website_bk.sh $W
  39. Web_GREP="Web_${W}_`date +%Y`"
  40. Web_FILE=`ls -lrt $backup_dir | grep ${Web_GREP} | tail -1 | awk '{print $NF}'`
  41. echo "file:::$backup_dir/$Web_FILE $backup_dir push" >> config_bakcup.txt
  42. echo "com:::[ -e "$backup_dir/$Web_FILE" ] && rm -rf $backup_dir/Web_${W}_$(date +%Y%m%d --date="$expired_days days ago")_*.tgz" >> config_bakcup.txt
  43. else
  44. echo "file:::$wwwroot_dir/$W $backup_dir push" >> config_bakcup.txt
  45. fi
  46. done
  47. }
  48. if [ "$backup_destination" == 'local' ];then
  49. [ -n "`echo $backup_content | grep -ow db`" ] && DB_Local_BK
  50. [ -n "`echo $backup_content | grep -ow web`" ] && WEB_Local_BK
  51. elif [ "$backup_destination" == 'remote' ];then
  52. echo "com:::[ ! -e "$backup_dir" ] && mkdir -p $backup_dir" > config_bakcup.txt
  53. [ -n "`echo $backup_content | grep -ow db`" ] && DB_Remote_BK
  54. [ -n "`echo $backup_content | grep -ow web`" ] && WEB_Remote_BK
  55. ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
  56. elif [ "$backup_destination" == 'local,remote' ];then
  57. echo "com:::[ ! -e "$backup_dir" ] && mkdir -p $backup_dir" > config_bakcup.txt
  58. [ -n "`echo $backup_content | grep -ow db`" ] && DB_Local_BK
  59. [ -n "`echo $backup_content | grep -ow web`" ] && WEB_Local_BK
  60. [ -n "`echo $backup_content | grep -ow db`" ] && DB_Remote_BK
  61. [ -n "`echo $backup_content | grep -ow web`" ] && WEB_Remote_BK
  62. ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
  63. fi