Files
VestaCP/bin/v_update_db_bases_disk
2012-02-16 01:25:03 +02:00

86 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# info: update databases disk usage
# options: user
#
# The function recalculates disk usage for all user databases.
#----------------------------------------------------------#
# Variable&Function #
#----------------------------------------------------------#
# Argument defenition
user=$1
# Importing variables
source $VESTA/conf/vars.conf
source $V_CONF/vesta.conf
source $V_FUNC/shared.func
source $V_FUNC/db.func
#----------------------------------------------------------#
# Verifications #
#----------------------------------------------------------#
# Checking arg number
check_args '1' "$#" 'user'
# Checking argument format
format_validation 'user'
# Checking web system is enabled
is_system_enabled 'db'
# Checking user
is_user_valid
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
# Defining config
conf="$V_USERS/$user/db.conf"
# Defining fileds to select
field='$DB'
# Defining search string
search_string="SUSPENDED='no'"
# Parsing unsuspeneded domains
databases=$(db_clear_search)
for database in $databases; do
# Define database variables
db_user=$(get_db_value '$USER')
host=$(get_db_value '$HOST')
type=$(get_db_value '$TYPE')
# Switching on db type
case $type in
mysql) disk_usage=$(get_disk_db_mysql); ret_val="$?" ;;
pgsql) disk_usage=$(get_disk_db_pgsql); ret_val="$?" ;;
esac
# Updating disk value in config
if [ "$ret_val" -eq '0' ]; then
update_db_base_value '$U_DISK' "$disk_usage"
fi
done
#----------------------------------------------------------#
# Vesta #
#----------------------------------------------------------#
# Recalculating user disk space
disk_size=$(get_usr_disk)
update_user_value "$user" '$U_DISK' "$disk_size"
# Logging
log_event 'system' "$V_EVENT"
exit