Как проверить и очистить свободное место на сервере VDS

При нехватке места на сервере (когда занято 100% из 100%) большинство внутренних служб сервера, перестают нормально функционировать. Причина этому – невозможность создать временный файл для службы. Зачастую, в таких ситуациях, проверить занятое место через панель управления сервером нет возможности, поэтому нужно подключится к серверу по SSH.

SSH – сетевой протокол, с помощью которого можно удалённо управлять сервером (операционной системой).

Для того, чтобы подключится по SSH к серверу, необходимо скачать клиент SSH. На нашем сайте доступен SSH-клиент “Putty”, по ссылке https://support.ukrnames.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=3&nav=0

Запускаем файл putty.exe, в появившемся окне вводим IP адрес вашего сервера, и жмем на кнопу Open, пример представлен ниже на рисунке (в качестве примера взят тестовый сервер с IP 91.231.87.169).

ssh1

Важно! Если вы не знаете IP адрес вашего сервера, зайдите в Личный кабинет https://www.ukrnames.com/ (Правый верхний угол, ввести email и пароль), далее перейти в раздел «Мои VPS/VDS», там будет указан IP вашего сервера.

Так же рекомендуем найти письмо с настройками к серверу, высланное вам при заказе на почту, указанную в аккаунте Ukrnames. Данные настройки нужны нам для того, чтобы войти удаленно на сервер.

После того, как вы нажали кнопку “Open”, появится черное окно, в которое нужно ввести логин и пароль к серверу. Логин всегда «root», пароль нужно взять из настроек к серверу, высланному на вашу почту. Ниже представлен рисунок окна.

ssh2

Важно! При наборе пароля или вставке пароля в данное окно, символы пароля не отображаются, но пароль вводится. Клавиши Ctrl+V в данном окне не работают. Чтобы вставить скопированный пароль, нужно нажать клавиши Shift+Ins либо 1 раз нажать правой кнопкой мыши.

После ввода пароля появится командная строка.

ssh3

Теперь вводим в командной строке команду:

df -h (Enter) - выводит информацию о занятом месте сервера;

ssh4

Как видим занято 100%, поле “Use%” .

Теперь выполняем ряд команд для определения файлов/папок, которые заняли место:

cd / (Enter) — переходим в корень системы;
du -sh * (Enter)выводит список каталогов и занятое место;

ssh5

В данном примере видим, что больше всего места занято в папке var 9.2G . Переходим в данную папку и выполняем поиск по занятому месту:

cd var/ (Enter)переходим в папку /var ;
du -sh * (Enter) - информация по занятому месту в папке /var ;

ssh6

Наибольшее занятое место у папки log (полный путь /var/log/), переходим в нее:

cd log/ (Enter)переходим в папку /var/log/ ;

Важно! Перед log нет косой черты «/» т. к. мы уже находимся в папке /var/ , после того как набрали cd /var .

du -sh * (Enter)- информация по занятому месту в папке /var/log/ ; 

ssh7

Видим, что место занято файлами логов test.log 9.1G и test2.log 3.3G.

Обнулим данные файлы, удалять их не стоит.

Выполняем команды:

echo "" > test.log (Enter)очистит файл /var/log/test.log ;
echo "" > test2.log (Enter)очистит файл /var/log/test.log ;
du -sh * (Enter) - информация по занятому месту в папке /var/log/ ;

ssh8

Теперь файлы test.log и test2.log занимают всего по 4Кб каждый.

Проверяем общее место:

df -h (Enter) - выводит информацию о занятом месте сервера;

ssh9

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

Важно!!! Данный способ очистки предназначен только для скорейшего возобновления работы внутренних служб сервера. После восстановления служб сервера, стоит просмотреть данные файлы логов на наличие ошибок, и потом устранить их, чтобы логи вновь не заняли все место сервера.

Это конкретный пример, в котором место было занято логами! Может так случится, что место занято другими файлами (файлами сайтов). В большинстве случаев это так же логи сайта либо же кеш (стоит проверить папки сайта cache/ , очистить содержимое). Желательно очищать кеш через админ-панель сайта. Чтобы вернуть панели рабочее состояние, выполняем чистку наибольших файлов папки /var/log/ хотя бы 100Мб освобождаем, и тогда сможем подключится к админ-панели сайта и очистить кеш.

!!!Не в коем случае не чистим файлы папок, которые отвечают за работу ОС и служб сервера.

Это папки:

  • /bin
  • /boot
  • /dev
  • /lib
  • / lib64
  • /proc
  • /run
  • /sys
  • / sbin
  • /usr – эту папку можно проверять, но удалять файлы, только в которых уверены, что они не причинят вреда системе;
  • /var/lib/ – удаляем только логи, файлы с расширением *.log ;

Так же ниже представлен ряд команд, которые быстро позволят обнаружить файлы, которые занимают много места:

find / -size +1024M -print (Enter)выводит все файлы превышающие 1G ;
for i in `du --exclude=/proc --exclude=/dev --exclude=/bin --exclude=/sbin --exclude=/sys -sh /* | grep G | awk '{print $2}'`;do for dir in `find $i -type d`; do du -sh $dir | grep G; done ; done (Enter) – покажет папки, которые занимают больше всего места, уместно когда место занято большим количеством мелких файлов;
 
  • Спасибо за полезную статью. Очень помогла при очистке логов на сервере. Но есть у меня еще вопросик. У меня в логах более 2 Гб занимают файлы “var/log/auth.log” “exim4/mainlog” и “btmp”. Можно ли их таким же образом очистить? Спасибо

  • ukrnames

    Да, их можно без проблем очистить. Рекомендовал бы Вам проверить var/log/auth.log возможно к Вашему серверу подбирают пароль к SSH или FTP.
    “exim4/mainlog” и “btmp” можно удалять смело.
    echo ” ” > /var/log/auth.log
    echo ” ” > /var/log/btmp
    echo ” ” > /var/log/exim4/mainlog

  • Татьяна

    Здравствуйте. Подскажите пожалуйста как нам отменить изменения которые мы сделали по Вашему примеру приведенном в статье. На FTP.

  • first batl

    А я использую провайдера зомро. По запросу в поддержку они сами чистя мне логи.