вопрос: как программно узнать размер доступного дискового пространства на хостинге

123 4
stealthy
На сайте с 15.06.2006
Offline
69
#11
Kpd:
А зачем это пользователю вообще знать? Если превысит квоту (дополнительное пространство на мастерхосте ему автоматически выделят), то получит об этом письмо (а ещё до превышения квоты получит гору писем о том что место заканчивается).

Ситуация - пользователь вводит данные, которые записываются в файл. Файл с данными аппендится, но поскольку квота превышена на подавляющем большинстве юниксов в этот момент размер файла обнуляется и все данные теряются нафиг. Есть варианты обходов, но на практике они малоэффективны (обсуждать сейчас не буду, не в том тема). Если бы я знал квоту я бы просто не дал начать запись в этот файл.

Kpd:
А про размер кластера не забыли? Сколько места займут 1024 файла размером 1 байт каждый?

Не забыл. Собственно это еще один минус решению через перебор файлов и расчету их совокупного размера.

Ну по остальным комментам только одно скажу - мне не нужно в одном случае узнать квоту, это я и сам прикинуть могу. Мне нужно грубо говоря тулзу написать, которая бы это показывала (сильно упрощаю).

В общем, после экспериментов ближе всего был совет про repquota. Эта команда не проходит, но проходит обычная "quota -v", которая на большинстве хостингов (тестировал только что на 7ми площадках) выдала корректно usage (используемое место) и quota. В одном случае quota была = 0, но предел (limit) был выставлен, это не стандартный хостинг, это своя площадка у клиента. И в одном случае (Хостинг РБК :)) - на одном сайте (видимо одна машина) лимит и квота =0, видно сколько usage, а остальное - соси бензин. А на другом сайте того же хостинга вообще команда отвечает короткое "none".

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.
K
На сайте с 12.07.2006
Offline
295
Kpd
#12
stealthy:
Ситуация - пользователь вводит данные, которые записываются в файл. Файл с данными аппендится, но поскольку квота превышена на подавляющем большинстве юниксов в этот момент размер файла обнуляется и все данные теряются нафиг.

А может проще найти хостинг, на котором этой проблемы не будет?

stealthy
На сайте с 15.06.2006
Offline
69
#13

Нет, не проще. У нас система, которая ставится на любой хостинг. Клиент должен иметь возможность выбора площадки и не зависеть от производителя продукта.

M
На сайте с 03.03.2004
Offline
43
#14

выяснить програмно именно квоту имхо невозможно, потому что по разному настраивается и иногда это делается вообще через жопу.

stealthy, насколько я понимаю ты хочешь избежать ситуации на виртуалах когда не хватает места для сохранения.

Но, для твоих целей тебе достаточно проверить наличие свободного места для сохранения нового файла.

Элементарная логика: сохраняешь данные в темпорари файл, проверяешь его, если он сохранился нормально перезаписываешь его на место оригинала.

Извращенная логика: Пытаешся сохранить на диске файл размером в Хмб. Проверяешь сколько сумелось записать, если Хмб - все ок. Проверку можно повторить через Н часов. Если меньше... Алерт админу.

Лучше конечно пользоваться первым вариантом, так как это в принципе основы програмирования отказоустойчивых систем.

Дневник БоГа (http://www.seriousrevenue.com/). Лента SEO форумов (http://www.seriousrevenue.com/scripts/rubot/). Статистика денег (http://www.seriousrevenue.com/scripts/rate/).
maximkuk
На сайте с 14.09.2005
Offline
72
#15
stealthy:
Нет, не проще. У нас система, которая ставится на любой хостинг. Клиент должен иметь возможность выбора площадки и не зависеть от производителя продукта.

это идеал.

У всех разные способы квотирования, рекомендую добавить wizard, который при установки на хостинг будет определять вариант определения квоты.

Как вариант, рассмотрите такой способ:

90% хостеров используют покупные панели управления у которых есть свой API, через который можно узнавать раличную информацию по аккаунту (например ISP позволяет это делать)

Just another WordPress weblog (http://maxkuk.ru)
stealthy
На сайте с 15.06.2006
Offline
69
#16

monstring, я выше писал, что есть обходные пути. В принципе, то, о чем Вы пишете это они и есть. Но, к сожалению, есть некоторое число ситуаций, где их недостаточно. А самое главное, что блокировать запись при отсутствии места - это полдела. А что делать дальше? Ведь нужно предпринять какие-то действия (извещение пользователя, отключение некоторых функций и т.п.) чтобы ситуацию разрешить. Писать такую штуку на каждый AddRecord - это не выход, времени на генерацию страницы сайта есть около 0.001 сек, чтобы добиться этого времени на скриптовых языках нужно очень сильно оптимизировать код и времени на такие проверки как создание нового файла и проч. просто нет.

Последние два поста тут были про "разные способы квотирования". Если не затруднит - с этого места можно чуть чуть подробнее? Как я писал выше, в 6 вариантах из протестированных мной 7 площадок quote решает вопрос. Добиться решения во всех случаях - идеал, верю что достижимый, даже если придется пользоваться несколькими техниками. Как делаются квоты? Через неделю я буду это знать, как и по любому вопросу - стоит покопаться в инете, но раз есть люди, кто это знает - отчего бы не спросить?

stealthy
На сайте с 15.06.2006
Offline
69
#17

maximkuk, ISP это что за панель? Я так думал, что у нас сейчас CPanel рулит. Пытался поискать в гугле, но ISP это еще и Internet Service Provider, в общем ищется что-то не то. Есть расшифровка или url где про неё почитать?

maximkuk
На сайте с 14.09.2005
Offline
72
#18
stealthy:
maximkuk, ISP это что за панель? Я так думал, что у нас сейчас CPanel рулит. Пытался поискать в гугле, но ISP это еще и Internet Service Provider, в общем ищется что-то не то. Есть расшифровка или url где про неё почитать?

ISP Manager - http://ispsystem.com/ru/index.html

последнее время достаточно сильно популизируется.

В Cpanel тоже вроде API был, но я с ним не работал и не знаю на каком уровне он доступен.

stealthy
На сайте с 15.06.2006
Offline
69
#19

Ага, спасибо. А где оно стоит из наших хостингов?

maximkuk
На сайте с 14.09.2005
Offline
72
#20

netplace.ru, firstvds.ru, http://ispserver.com/ru/

ИнфоБокс их по умолчанию предлагает всем кто дедик берет

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий