Панели хостинга LinuxFASTPANEL и аналогичные панели управления

Диск заполнен журналами, хотя каталоги сайтов выглядят маленькими

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

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

В этой статье
  1. Описание и признаки неисправности
  2. Как отличить возможные причины
  3. Пошаговая диагностика и решение
  4. Проверка результата и дальнейшие действия

#Описание и признаки неисправности

Панель управления сообщает о заполненном диске, при этом в файловом менеджере сумма размеров сайтов невелика. Возможны логи вне документного корня, журналы Nginx/Apache/PHP-FPM, данные других служб или уже удалённые файлы, которые продолжает держать процесс. Удалять логи файловым менеджером наугад нельзя: можно потерять сведения об инциденте и не освободить место при открытом файловом дескрипторе.

#Как отличить возможные причины

Возможная причинаКак узнатьЧто делать
Логи расположены вне каталогов сайтовОбщий системный /var/log и журналы панели не отображаются в веб-каталоге.df показывает мало места, du сайта — немного.Определить реальный раздел и подкаталог с журналами.
Удалённый, но открытый файлПроцесс веб-сервера продолжает записывать в удалённый файл.df показывает занято, du — нет; lsof +L1 находит открытые удалённые файлы.Настроить корректную ротацию и безопасное переоткрытие журналов.
Занято другое пространство/резервные копииНа разделе находятся архивы панели, базы, контейнеры или systemd journal.du показывает крупные каталоги вне www.Настроить срок хранения/перенос/расширение раздела по регламенту.

#Пошаговая диагностика и решение

  1. Подтвердите, какой именно раздел заполненОткройте в панели раздел использования диска или ресурсов, запишите имя файловой системы. По SSH выполните df -h и df -i: первая команда показывает место, вторая — свободные inode. Если свободных inode нет, новые файлы тоже не создаются, но причина может быть миллионах мелких файлов, а не больших логах. Не начинайте удаление, пока не найдёте конкретный раздел.
  2. Сопоставьте объём раздела с видимыми каталогамиНа сервере с правами администратора выполните sudo du -xhd1 /var и sudo du -xhd1 /var/log. Флаг -x не переходит на другие файловые системы, -h делает размеры читаемыми, -d1 ограничивает глубину одним уровнем. Команды только читают; могут долго выполняться на миллионах файлов. Если /var не на переполненном разделе, анализируйте точку монтирования, показанную df.
  3. Проверьте системный журнал и логи веб-сервераСравните /var/log/nginx, /var/log/apache2, журналы PHP-FPM и записи панели, если они есть в этом дистрибутиве. Командой sudo journalctl --disk-usage посмотрите объём журнала systemd. Не очищайте журнал journalctl --vacuum-size без согласования срока хранения: он может содержать доказательства взлома или сведения для расследования сбоя.
  4. Ищите открытые удалённые журналы, если df и du расходятсяПри установленном пакете lsof выполните sudo lsof +L1: команда перечислит файлы, на которые у процесса остаётся дескриптор, хотя у файла больше нет видимых ссылок. Обратите внимание на большие позиции с пометкой (deleted) и имя процесса. Если lsof: command not found, согласуйте установку пакета с администратором; не ищите причину путём случайного перезапуска MySQL и PHP.
  5. Определите, почему логи растутОткройте несколько последних строк самого быстрорастущего журнала через sudo tail -n 80 /путь/к/журналу и посмотрите повторяющиеся ошибки, адреса запросов и даты. Если это бесконечная серия 404/502/фатальных ошибок PHP, сначала устраните её причину; временное освобождение места не остановит рост. Логи могут содержать IP, пути и технические идентификаторы, не публикуйте их полностью в открытом чате.
  6. Проверьте установленную ротацию журналовДля Nginx/Apache на Debian обычно используется logrotate; по SSH проверьте существование файлов /etc/logrotate.d/ и расписание запуска. Сначала воспользуйтесь sudo logrotate -d /etc/logrotate.conf: это диагностический режим, он не должен фактически выполнять ротацию. Прочитайте предупреждения, проверьте владельца логов и postrotate: процесс должен переоткрывать журнал. Не меняйте глобальные параметры только ради одного сайта.
  7. Освобождайте место без разрушительных действийКогда установлено, какие старые архивированные журналы можно удалить по политике хранения, предварительно скопируйте нужные для аудита и согласуйте удаление через штатную очистку/ротацию панели. Для удалённого открытого файла в логах обычно нужно корректно переоткрыть дескрипторы обслуживающего процесса, а не удалять его каталог: решите с администратором, применимо ли штатное nginx -s reopen или управление logrotate. Не делайте truncate для неизвестного открытого файла.
  8. Убедитесь, что место не уходит сноваПовторите df -h и df -i, проверьте размер журналов и несколько минут наблюдайте за ростом. Если df не изменился после ротации, перепроверьте lsof +L1, точки монтирования и резервные копии; не усиливайте чистку случайными командами. При переполнении системного раздела и ошибках записи организуйте расширение хранилища и мониторинг предупреждений заранее.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Безопасная оценка свободного места и inode на всех смонтированных файловых системах.
    Linux · Терминал (Bash)Команда
    Безопасная оценка свободного места и inode на всех смонтированных файловых системах.
    df -h
    df -i
    Вариант 2Команды для оценки размеров каталога /var, /var/log и systemd journal.
    Linux · Терминал (Bash)КомандаНужен sudo
    Команды для оценки размеров каталога /var, /var/log и systemd journal. Для полного доступа нужен sudo.
    sudo du -xhd1 /var
    sudo du -xhd1 /var/log
    sudo journalctl --disk-usage
    Вариант 3Диагностика удалённых открытых файлов и проверка правил ротации без её выполнения.
    Linux · Терминал (Bash)КомандаНужен sudo
    Диагностика удалённых открытых файлов и проверка правил ротации без её выполнения. lsof может потребовать установки пакета.
    sudo lsof +L1
    sudo logrotate -d /etc/logrotate.conf

#Проверка результата и дальнейшие действия

Успех — df показывает достаточное свободное пространство, du и lsof объясняют использованный объём, журнал ротации работает и место не кончается вновь. Если расхождение остаётся, передайте администратору снимки df -h, df -i, du и обезличенный lsof +L1, не очищая оставшиеся системные файлы.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.