| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/bin/bash
- # info: update domains bandwidth usage
- # options: USER
- #
- # The function recalculates bandwidth usage for all user webdomains.
- #----------------------------------------------------------#
- # Variable&Function #
- #----------------------------------------------------------#
- # Argument definition
- user=$1
- # Includes
- source $VESTA/func/main.sh
- source $VESTA/func/domain.sh
- source $VESTA/conf/vesta.conf
- #----------------------------------------------------------#
- # Verifications #
- #----------------------------------------------------------#
- check_args '1' "$#" 'USER'
- is_format_valid 'user'
- is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
- is_object_valid 'user' 'USER' "$user" "$user"
- #----------------------------------------------------------#
- # Action #
- #----------------------------------------------------------#
- for domain in $(search_objects 'web' 'SUSPENDED' "no" 'DOMAIN'); do
- # Reset BW counter on the start of the month
- if [ "$(date +%d)" = '01' ]; then
- update_object_value 'web' 'DOMAIN' "$domain" '$U_BANDWIDTH' '0'
- fi
- log_file="/var/log/$WEB_SYSTEM/domains/$domain.bytes"
- bytes=0
- # Parsing log
- while read line; do
- if [[ "$line" =~ ^[0-9]+$ ]]; then
- line=${line#0}
- if [ ! -z "$line" ]; then
- bytes=$(($bytes + $line))
- fi
- fi
- done < $log_file
- # Converting to Mb
- mb=$(echo "$bytes / 1024 / 1024"|bc)
- # Nulling log
- echo > $log_file
- get_domain_values 'web'
- bandwidth=$((U_BANDWIDTH + mb))
- # Updating bandwidth value in config
- update_object_value 'web' 'DOMAIN' "$domain" '$U_BANDWIDTH' "$bandwidth"
- done
- #----------------------------------------------------------#
- # Vesta #
- #----------------------------------------------------------#
- # Recalculating user bandwidth
- recalc_user_bandwidth_usage
- # No Logging
- #log_event "$OK" "$ARGUMENTS"
- exit
|