Я использую WinSCP для загрузки страниц своего сайта на удаленный сервер Ubuntu Linux (хостинг VPS xen). Когда я копирую файл, он записывается на сервере с размером = 0. Когда я проверил свободное место на диске: df -h
Я получил: / dev / xvda с Avail = 0% и Used = 100%. Я попытался проверить удаленные файлы с помощью: lsof | grep '(deleted)'
Но команда lsof не найдена. Что мне делать дальше?
Я попробовал: sudo du -h --max-depth = 1 ./ И, перебирая дерево, обнаружил, что /srv/www/mysite.com/logs/access.log имеет размер 13 ГБ !!!! Я удалил access.log с помощью rm access.log. Но df -h steel reports / dev / xvda 0% avail ... Что еще делать, чтобы окончательно удалить файл ?????
Теперь lsof должен сообщить об удаленном файле. Вы должны отправить сигнал HUP на http-сервер, используя
/etc/init.d/apache2 reload
В будущем избегайте этого, отредактировав /etc/logrotate.d/apache2 (введите правильный путь для журналов)
Вы можете использовать эту команду, чтобы узнать, какой файл или каталог использует большую часть дискового пространства.
du -hsx * | sort -rh | head -10
Команда работает в той директории, откуда вы ее запустите. Он показывает 10 самых больших файлов / каталогов.
Используйте его для каталога, в котором у вас есть подозрения, что файлы там слишком большие, т.е. / var / log / ваш домашний каталог.
Если вы ничего не нашли, возможно, с вашим жестким диском что-то не так.
ОБНОВЛЕНИЕ: если у вас установлен perl, вы можете использовать этот лайнер:
du -k | sort -n | perl -ne 'if ( /^(\d+)\s+(.*$)/){$l=log($1+.1);$m=int($l/log(1024)); printf ("%6.1f\t%s\t%25s %s\n",($1/(2**(10*$m))),(("K","M","G","T","P")[$m]),"*"x (1.5*$l),$2);}'
/ dev / xvda - это путь к диску. Разделы должны заканчиваться некоторым номером (например, / dev / xvda1). Отметьте df в последнем столбце, если это ваш корневой или домашний раздел. «Avail = 0%» означает, что у вас, вероятно, закончилось свободное место. Проверьте, что занимает много места, используя
du -sm <path>
Для вашего домашнего каталога это будет
du -sm $HOME/*
Команда lsof выглядит так, как будто она перечисляет только файлы, которые собираются удалить (потому что они уже используются). Возможно, lsof существует, но не на вашем пути - попробуйте найти его.
Ты мог: