mirror of
https://github.com/serghey-rodin/vesta.git
synced 2026-09-08 11:19:23 +02:00
86 lines
2.0 KiB
Bash
Executable File
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
|