v_backup_sys_user 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/bin/bash
  2. # info: backup system user with all its objects
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. # Argument defenition
  7. user="$1"
  8. # Importing variables
  9. source $VESTA/conf/vars.conf
  10. source $V_FUNC/shared_func.sh
  11. source $V_FUNC/domain_func.sh
  12. source $V_FUNC/db_func.sh
  13. source $V_CONF/vesta.conf
  14. #----------------------------------------------------------#
  15. # Verifications #
  16. #----------------------------------------------------------#
  17. # Checking arg number
  18. check_args '1' "$#" 'user'
  19. # Checking argument format
  20. format_validation 'user'
  21. # Checking user
  22. is_user_valid
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Creating temporary random directory
  27. tmpdir=$(mktemp -p $V_TMP -d)
  28. echo "TMPDIR is $tmpdir"
  29. # Web domains
  30. if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
  31. mkdir $tmpdir/web/
  32. # Parsing unsuspeneded domains
  33. conf="$V_USERS/$user/web_domains.conf"
  34. field='$DOMAIN'
  35. search_string='DOMAIN='
  36. domains=$(dom_clear_search)
  37. for domain in $domains; do
  38. echo $domain
  39. # backup_domain
  40. mkdir -p $tmpdir/web/$domain/conf $tmpdir/web/$domain/cert
  41. # Packing data folders
  42. cd $V_HOME/$user/web/$domain
  43. tar -cf $tmpdir/web/$domain/$domain.tar \
  44. public_html public_shtml private document_errors cgi-bin stats
  45. # Creating config folder
  46. cd $tmpdir/web/$domain/
  47. grep "DOMAIN='$domain'" $conf > conf/web_domains.conf
  48. # Parsing httpd.conf
  49. tpl_name=$(get_web_domain_value '$TPL')
  50. tpl_file="$V_WEBTPL/apache_$tpl_name.tpl"
  51. conf="$V_HOME/$user/conf/httpd.conf"
  52. # Parsing nginx.conf
  53. done
  54. fi
  55. exit
  56. # DNS domains
  57. # Mail domains
  58. # DatbaBases
  59. # Cron jobs
  60. # Vesta
  61. #----------------------------------------------------------#
  62. # Vesta #
  63. #----------------------------------------------------------#
  64. # Logging
  65. log_event 'system' "$V_EVENT"
  66. exit $OK