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/
Будем разбираться