vesta/bin/v-rebuild-databases
2016-06-09 16:55:35 +03:00

73 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# info: rebuild databases
# options: USER
#
# The function for rebuilding of all databases of a single user.
#----------------------------------------------------------#
# Variable&Function #
#----------------------------------------------------------#
# Argument definition
user=$1
# Includes
source $VESTA/func/main.sh
source $VESTA/func/db.sh
source $VESTA/func/rebuild.sh
source $VESTA/conf/vesta.conf
#----------------------------------------------------------#
# Verifications #
#----------------------------------------------------------#
check_args '1' "$#" 'USER'
is_format_valid 'user'
is_system_enabled "$DB_SYSTEM" 'DB_SYSTEM'
is_object_valid 'user' 'USER' "$user"
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
# Flush counters
U_DATABASES=0
SUSPENDED_DB=0
U_DISK_DB=0
# Starting rebuild loop
for database in $(search_objects 'db' 'SUSPENDED' "no" 'DB'); do
# Get database values
get_database_values
# Switching on db type
case $TYPE in
mysql) rebuild_mysql_database ;;
pgsql) rebuild_pgsql_database ;;
esac
U_DISK_DB=$((U_DISK_DB + U_DISK))
U_DATABASES=$((U_DATABASES + 1))
if [ "$SUSPENDED" = 'yes' ]; then
SUSPENDED_DB=$((SUSPENDED_DB + 1))
fi
done
update_user_value "$user" '$SUSPENDED_DB' "$SUSPENDED_DB"
update_user_value "$user" '$U_DATABASES' "$U_DATABASES"
update_user_value "$user" '$U_DISK_DB' "$U_DISK_DB"
#----------------------------------------------------------#
# Vesta #
#----------------------------------------------------------#
# Logging
log_event "$OK" "$ARGUMENTS"
exit