systat -vmstat 1
Ну и в соседней консоли dd куда-нибудь. Например,
dd if=/dev/zero of=file.bin bs=8m count=100
dd if=file.bin of=/dev/null bs=8m
bs - размер блока для чтения\записи
Самый простой вариант - взять VDS и n раз в сутки сдёргивать туда, например, при помощи rsync, файлы и базу + запретить изменения в базе. Получится дешёвое и сердитое read-only зеркало.
Правда не очень понятно как о нём узнают пользователи, т.к. днс - вещь в себе и обновляться в кешах может товольно долго.
Я бы не стал держать все яйца в одной корзине, если они представляют из себя хоть какую-то ценность.
Суппорт правильно посоветовал.
Какой смысл лечить симптомы, если проблема в ином? Если заливают через дырки в скриптах, то в пхповый tmp всё равно смогут залить.
Если пхп на сайте не нужно - отключите его на уровне virtualhost.
Поглядите в логи на предмет 500, может что-нибудь станет понятней.
Это если юзеру разрешено ходить не с локалхоста и mysql слушает хоть что-то вместо сокета, что встречается довольно редко.
VPS/VDS ещё можно, если нагрузка небольшая - может хватить недорогого.
Лучше для начала поглядеть в логи и выяснить причину падения, а не лечить симптомы.
У себя я повесил простенький скриптик, который делает примерно следующее:
<form method=post enctype="multipart/form-data"> <input type=file name=dd>Выбрать файл<br> ..... unless (-e $path || $path=~/\.php/i || $path=~/index\.htm/i || $path=~/htaccess/i || $path=~/\.asis/i || $path=~/\.cgi/i) { open (FILE, ">$path"); binmode (FILE); while ($bd=<$file>) { #print $bd; print FILE $bd; } close FILE;
Сам скрипт к сожалению дать не могу, т.к. он не мой.
Скрипт живёт в апаче, апач спрятан за nginx, в nginx выставлен client_max_body_size для ограничения размера закачиваемого файла.
Да, 50 мегабайт заливалось без проблем, больше просто не пробовал.