v_update_web_domain_traff 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/bin/bash
  2. # info: update domain bandwidth usage
  3. # options: user domain
  4. #
  5. # The function recalculates bandwidth usage for speciefic domain.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. user=$1
  11. domain=$(idn -t --quiet -u "$2" )
  12. domain_idn=$(idn -t --quiet -a "$domain")
  13. # Importing variables
  14. source $VESTA/conf/vars.conf
  15. source $V_CONF/vesta.conf
  16. source $V_FUNC/shared.func
  17. source $V_FUNC/domain.func
  18. #----------------------------------------------------------#
  19. # Verifications #
  20. #----------------------------------------------------------#
  21. # Checking arg number
  22. check_args '2' "$#" 'user domain'
  23. # Checking argument format
  24. format_validation 'user' 'domain'
  25. # Checking web system is enabled
  26. is_system_enabled 'web'
  27. # Checking user
  28. is_user_valid
  29. # Checking domain exist
  30. is_web_domain_valid
  31. # Checking domain is not suspened
  32. is_domain_suspended 'web'
  33. #----------------------------------------------------------#
  34. # Action #
  35. #----------------------------------------------------------#
  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
  42. do
  43. if [[ '-' != "$line" ]] && [[ 0 -lt "$line" ]]
  44. then
  45. bytes=$(($bytes + $line))
  46. fi
  47. done < $log_file
  48. # Converting to Mb
  49. mb=$(echo "$bytes / 1024 / 1024"|bc)
  50. # Nulling log
  51. echo > $log_file
  52. #----------------------------------------------------------#
  53. # Vesta #
  54. #----------------------------------------------------------#
  55. # Parsing old value
  56. old_val=$(get_web_domain_value '$U_BANDWIDTH')
  57. # Defining new value
  58. bandwidth=$((old_val + mb))
  59. # Updating bandwidth value in config
  60. update_web_domain_value '$U_BANDWIDTH' "$bandwidth"
  61. # Logging
  62. log_event 'system' "$V_EVENT"
  63. exit