v_upd_web_domains_traff 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. # info: updating traffic usage for domains
  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. #----------------------------------------------------------#
  13. # Verifications #
  14. #----------------------------------------------------------#
  15. # Checking arg number
  16. check_args '1' "$#" 'user'
  17. # Checking argument format
  18. format_validation 'user'
  19. # Checking web system is enabled
  20. is_system_enabled 'web'
  21. # Checking user
  22. is_user_valid "$user"
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Defining config
  27. conf="$V_USERS/$user/web_domains.conf"
  28. # Defining fileds to select
  29. field='$DOMAIN'
  30. # Defining search string
  31. search_string="SUSPEND='no'"
  32. # Parsing unsuspeneded domains
  33. domains=$(dom_clear_search)
  34. # Starting suspend loop
  35. for domain in $domains; do
  36. # Defining log file
  37. log_file="/var/log/httpd/domains/$domain.bytes"
  38. # Defining bytes
  39. bytes=0
  40. # Parsing log
  41. while read line; do
  42. if [[ '-' != "$line" ]] && [[ 0 -lt "$line" ]]; then
  43. bytes=$(($bytes + $line))
  44. fi
  45. done < $log_file
  46. # Converting to Mb
  47. mb=$(echo "$bytes / 1024 / 1024"|bc)
  48. # Nulling log
  49. echo > $log_file
  50. # Parsing old value
  51. old_val=$(get_web_domain_value '$U_BANDWIDTH')
  52. # Defining new value
  53. bandwidth=$((old_val + mb))
  54. # Updating bandwidth value in config
  55. update_web_domain_value '$U_BANDWIDTH' "$bandwidth"
  56. done
  57. #----------------------------------------------------------#
  58. # Vesta #
  59. #----------------------------------------------------------#
  60. # Recalculating user bandwidth
  61. traff_size=$(get_usr_traff)
  62. update_user_value "$user" '$U_BANDWIDTH' "$traff_size"
  63. # Logging
  64. log_event 'system' "$V_EVENT"
  65. exit $OK