v-update-sys-ip-counters 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # info: update IP usage counters
  3. # options: IP
  4. #
  5. # Function updates usage U_WEB_ADOMAINS and U_SYS_USERS counters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. ip=$1
  11. # Includes
  12. source $VESTA/func/main.sh
  13. source $VESTA/func/ip.sh
  14. source $VESTA/conf/vesta.conf
  15. #----------------------------------------------------------#
  16. # Verifications #
  17. #----------------------------------------------------------#
  18. check_args '0' "$#" 'IP'
  19. if [ ! -z "$ip" ]; then
  20. validate_format 'ip'
  21. is_ip_valid
  22. fi
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Creating user_list
  27. if [ -z "$ip" ]; then
  28. ip_list=$(ls $VESTA/data/ips)
  29. else
  30. ip_list="$ip"
  31. fi
  32. # Updating user stats
  33. for ip in $ip_list; do
  34. # Calculate usage
  35. ip_usage=$(grep -H $ip $VESTA/data/users/*/web.conf)
  36. web_domains=$(echo "$ip_usage"| wc -l)
  37. sys_users=$(echo "$ip_usage" | cut -f7 -d/ | sort -u |\
  38. tr '\n' ',' | sed "s/,$//g")
  39. # Update counters
  40. update_ip_value '$U_WEB_DOMAINS' "$web_domains"
  41. update_ip_value '$U_SYS_USERS' "$sys_users"
  42. done
  43. #----------------------------------------------------------#
  44. # Vesta #
  45. #----------------------------------------------------------#
  46. # Logging
  47. log_event "$OK" "$EVENT"
  48. exit