backup.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://blog.linuxeye.com
  4. #
  5. # Version: 1.0-Alpha Jun 15,2015 lj2007331 AT gmail.com
  6. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  7. #
  8. # Project home page:
  9. # http://oneinstack.com
  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. echo "file:::$wwwroot_dir/$W $backup_dir push" >> config_bakcup.txt
  38. done
  39. }
  40. if [ "$local_bankup_yn" == 'y' -a "$remote_bankup_yn" == 'n' ];then
  41. WEB_Local_BK
  42. DB_Local_BK
  43. elif [ "$local_bankup_yn" == 'n' -a "$remote_bankup_yn" == 'y' ];then
  44. echo "com:::[ ! -e "$backup_dir" ] && mkdir -p $backup_dir" > config_bakcup.txt
  45. DB_Remote_BK
  46. WEB_Remote_BK
  47. ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
  48. elif [ "$local_bankup_yn" == 'y' -a "$remote_bankup_yn" == 'y' ];then
  49. echo "com:::[ ! -e "$backup_dir" ] && mkdir -p $backup_dir" > config_bakcup.txt
  50. WEB_Local_BK
  51. WEB_Remote_BK
  52. DB_Local_BK
  53. DB_Remote_BK
  54. ./mabs.sh -c config_bakcup.txt -T -1 | tee mabs.log
  55. fi