Родилась эта статья из понимания того, что некоторые вещи в системном администрировании происходят неожиданно и непонятно. А с учётом, что администраторами мы не рождаемся, приходится узнавать и собирать всё воедино. Итак, начались проблемы с свободным местом на системном диске.
Установлен Centos и системе вместе с панелью ISP 5 выделено 20 гигабайт, сейчас я бы конечно побольше выделил, но как есть и учитывая, что сервер рабочий поменять не получается, как хотелось бы. И вот система стала работать с перебоями, проверка df -h показала, что места то как раз не осталось. И что делать? Оно должно быть, вот взяло резко и закончилось. началось колдовство (как по мне) которое и опишу в этой статье.
Итак, первое что мне надо понять было, это структура диска, где находится система. Главная команда здесь df -h которая покажет вам размер дисков, занятое и свободное место. Мне показало систему 20 гигов, диск с базами и диск с var/www/ где находятся собственно сами сайты. Вот, а где этот на 20 гигов?) А он оказывается везде, кроме выделенных двух папок с базами и файлами.
И тут уже нужна другая команда: du -sh которая покажет размеры папок на дисках. Для начала я решил проверить самые рабочие папки, с учётом панели, это папка /usr/local/mgr5/var/, а проверял командой: du -sh /usr/local/mgr5/var/*. Вот это две основные команды для того, чтобы найти что забивает диск. Вводятся они естественно в ssh. Ввёл и вижу, что место видит и занято оно запущенным пару дней назад процессом бэкапа данных.
Процесс запускался, временные файлы создавались в папке системы, всё забили напрочь, сервер стал тормозить, выдало ошибку бэкапа, так как место закончилось и собственно всё, дальше сам ищи проблему.
Окей проблема найдена, очистил папку, всё заработало как надо. Думаю, теперь как сконфигурировать создание временных папок, например, в папке файлов сайтов var/www так как достаточно места для этого. И собственно написал с этим вопросом в поддержку ISPSystem, может это просто делается. Кстати дополнительно нашёл еще порядка 300 файлов странных от 2017 года вида filesync.files и paramuser, которые были созданы года полтора назад и явно никаким образом системе не нужны уже. Удалил их тоже.
Стал смотреть дальше и нашёл еще один момент, который может заполнять диск. Это поддержка установки скриптов в ISP 5, которая создаёт папку apc при установке скриптов для пользователей и там сохраняются без удаления все старые скрипты. То есть я за два года ставил порядка 15 версий WordPress для установки пользователями, в итоге все 15 лежат в этой папке, представьте, что у вас порядка 20 скриптов и каждого по 5-15 версий лежит, вот и загружается место.
Ну и конечно логи, тоже почистил лишние, их не так много старых, но мегабайт 300 почистилось. Бывает накапливается и больше, смотрите по дате и старые удаляйте если места не хватает. Теперь перейдём к командам, которые вам понадобятся.
df -h /* | sort -hr — Проверка размеров дисков сервера и занятости места на них
du -sh — Проверка размеров каталогов по занятости
du -sh /usr/local/mgr5/var/* — Проверка каталога, можете ввести свой любой
du -sh /usr/local/mgr5/var/* | sort -hr — Проверка занимаемого папками места с сортировкой по размерам
ls -la /usr/local/mgr5/var/ — Вывод файлов указанной директории вместе с скрытыми файлами
Вот так с 4 командами, немного смекалки и вы сможете очистить ваш системный диск от лишнего мусора. Да кстати установлен у меня везде Centos, поэтому это точно подойдёт для этой системы.
Добавил обычный путь для проверки
Последовательность действий
1 |
du -sh /* | sort -hr |
2. Смотрим самые большие папки. У меня это var и usr проверяю их
1 |
du -sh /usr/* | sort -hr |
Вижу папка Local и проверяю её
1 |
du -sh /usr/local/mgr5/var/* | sort -hr |
Доходим до баз
1 |
du -sh /var/lib/mysql/* | sort -hr |
Далее делаем проверку папок пользователей на сайте, обычно это примерно такой вид
1 |
du -sh /var/www/user/data/www/site.ru/wp-content/* | sort -hr |
Также можно применять это для отслеживания размеров папок с базами данных и в целом для понимания где и как расходуется место на вашем сервере.
Для помощи напишу обычный набор больших папок которые стоит проверить
1 2 |
du -sh /var/lib/mysql/* | sort -hr du -sh /var/www/* | sort -hr |
Первая команда проверит размер баз данных, вторая проверит папку с файлами сайтов
Как правильно проверить размер дисков и папок в Linux?
отит сводку о размере каждой папки в текущей директории. С помощью этой команды можно узнать, какие папки занимают больше всего места и принять решение о том, какое из них можно очистить или переместить на другой диск. Также можно использовать команду find с параметром -size для поиска файлов, занимающих большой объем места на диске. Использование этих команд поможет найти и решить проблему с памятью на системном диске.
воляет узнать размер каждой директории в текущей папке. С помощью этой команды можно определить, какие директории занимают больше всего места и могут быть причиной заполнения диска.
кажет размер всех файлов и папок в текущей директории. Я использовал ее для того, чтобы определить, какие файлы или директории занимают больше всего места на диске.