Page 1 of 1
Квотирование
Posted: Fri Jun 20, 2014 2:54 am
by Chic_cat
А как осуществляется квотирование на уровне системы?
Просто я поставил пользователю лимит в 50МБ, загрузил на сайт около 100. В панеле отразилось, что квота 100%, но пользователь так же может дальше грузить файлы через ftp
Re: Квотирование
Posted: Fri Jun 20, 2014 9:11 am
by imperio
Здравствуйте. Укажите пожалуйста полную версию панели
Re: Квотирование
Posted: Fri Jun 20, 2014 1:57 pm
by Chic_cat
Vesta - 0.9.8
CentOS 6.5
Re: Квотирование
Posted: Fri Jun 20, 2014 2:03 pm
by imperio
0.9.8-8 или 0.9.8-9 ?
Re: Квотирование
Posted: Fri Jun 20, 2014 8:35 pm
by Chic_cat
9й релиз.
Порылся немного в скриптах...Оказывается статистика не обновляется вообще...Вернее выглядит всё так:
Bandwidth: 0% (234mb)
Disk: 52% (52mb)
Web: 50mb Databases: 1mb
Mail: 1mb User Directories: 1.03gb
Т.е. Вес директорий больше гига, а вот использование диска - 52МБ
Нашел скрипт add-sys-quota, Запустил - квоты вроде стали отображаться quota -v user
Но блокировки так и не происходит.
Правда при смене пакета обновление квот на уровне системы не происходит...только вручную, если запустить v-update-user-quota username
Re: Квотирование
Posted: Sat Jun 21, 2014 2:02 am
by Chic_cat
В общем разобрался немного. Во первых нашел одну ошибку.
Трафик не считается, если положить файлы просто в каталог web. Глубоко лезть не стал - но самый простой способ - это поставить права доступа на папку web 551.
В остальных директориях вроде считает как user directory. Но странно, почему не плюсует к значению DISk в статистике.
Включить квоты на диске можно командой
sudo /usr/local/vesta/bin/v-add-sys-quota
Чтобы квоты обновлялись периодически (если меняется план обслуживания) - нужно создать скрипт новый и добавить в крон
Code: Select all
#!/bin/bash
# info: update user statistics
# options: USER
#
# Function logs user parameters into statistics database.
#----------------------------------------------------------#
# Variable&Function #
#----------------------------------------------------------#
# Argument defenition
user=$1
# Importing system enviroment as we run this script
# mostly by cron wich not read it by itself
source /etc/profile
# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/conf/vesta.conf
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
# Creating user_list
if [ -z "$user" ]; then
user_list=$(ls $VESTA/data/users)
else
user_list="$user"
fi
# Updating sys quotas
for user in $user_list; do
QUOTA_UPDATE=$VESTA/bin/v-update-user-quota
sudo ${QUOTA_UPDATE} $user
done
exit
Re: Квотирование
Posted: Sat Jun 21, 2014 7:27 am
by Chic_cat
Так же нашел ещё одну ошибку вот тут
/usr/local/vesta/bin/v-update-user-quotas
# Updating disk quota
soft=$(get_user_value '$DISK_QUOTA')
soft=$((soft * 100))
hard=$((soft + 50000))
* 100 = В 10 раз меньше будет. Т.е. Задаём лимит 500mb - При переводе в байты умножится на 100, а не 1024, получим лимит в 50mb.
Re: Квотирование
Posted: Sat Jun 21, 2014 7:35 am
by imperio
Опубликуйте пожалуйста баг в багтрекере
https://bugs.vestacp.com/
Будем разбираться