Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DISK_FULL_CLEANUP Linux / DevOps

Закончилось место на сервере Linux: поиск и очистка больших файлов (df, du)

Обновлено: 27.08.2026 · Официальная документация ↗

Симптомы переполненного диска

База данных MySQL автоматически выключается (Shutdown complete), сайты перестают загружать картинки, ломаются сессии авторизации. Команда df -h показывает 100% Use на корневом разделе /.

Поиск и удаление пожирателей дискового пространства

  1. Оцените занятое пространство по дисковым разделам:
    df -h
  2. Найдите топ-10 самых тяжелых папок на сервере:
    sudo du -ahx / | sort -rh | head -n 10
  3. Найдите файлы размером больше 500 Мегабайт:
    sudo find / -xdev -type f -size +500M -exec ls -lh {} +
  4. Быстрая очистка стандартного системного мусора:
    # Очистка системного журнала systemd journal до 100 Мб:
    sudo journalctl --vacuum-size=100M
    
    # Очистка кэша пакетов apt:
    sudo apt clean
    sudo apt autoremove --purge -y
    
    # Удаление старых сжатых ротированных логов (*.gz):
    sudo rm -f /var/log/*.gz /var/log/*/*.gz
  5. Как очистить гигантский работающий лог-файл без остановки службы:
    # Не удаляйте файл через rm, а обнулите его размер:
    > /var/log/nginx/access.log

Ловушка удаленных файлов (Deleted open files): Если вы удалили большой файл через rm, но процесс (например, Nginx) продолжает держать его открытым, место не освободится! Проверьте список таких файлов командой: sudo lsof | grep deleted и перезапустите соответствующую службу.

💡 Практика специалистов: Никогда не используйте rm для активных файлов логов Nginx или MySQL. Если удалить файл, служба продолжит писать в скрытый дескриптор, и диск останется полным. Всегда используйте команду усечения файла: truncate -s 0 /var/log/app.log.

Частые вопросы (FAQ)

Чем отличается команда df от du?

Команда df (Disk Free) показывает общую статистику свободного и занятого места по дисковым разделам. Команда du (Disk Usage) сканирует конкретные файлы и папки и считает их точный объем.

Безопасно ли удалять содержимое папки /tmp?

Да, в папке /tmp хранятся временные файлы. Однако файлы, используемые запущенными приложениями прямо сейчас, лучше не трогать.

Как очистить кэш Docker, если он забил весь диск?

Выполните команду глубокой очистки: docker system prune -a --volumes -y.

Как наглядно просматривать тяжелые папки в графическом терминале?

Установите удобный сканер ncdu: sudo apt install ncdu -y, и запустите его командой ncdu /.

Полезные материалы
Рекомендуем