Linux: Анализ дискового пространства

Контроль дискового пространства — важная задача для администраторов Linux. Нехватка места может привести к сбоям в работе серверов, замедлению системы и даже потере данных. В этом руководстве мы рассмотрим все аспекты анализа дискового пространства: от базовых команд до продвинутых методов поиска файлов, занимающих место.

Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг

1. Проверка свободного места на диске

1.1. Команда df — обзор файловых систем

Основной синтаксис:
df [опции] [файл|устройство]
Полезные опции:

 
Опция Описание
-h Вывод в удобном формате (ГБ, МБ)
-T Показывает тип файловой системы
-i Отображает использование inodes

Примеры использования:
df -h # Краткая сводка по всем разделам
df -h /home # Проверка места на конкретном разделе
df -Th /var # С указанием типа файловой системы

Вывод команды df -h:
Filesystem   Size  Used  Avail  Use%  Mounted on
/dev/sda1    50G   30G   18G    63%   /
tmpfs        3.9G  0     3.9G   0%    /dev/shm

Как интерпретировать:

  • Used — занятое пространство.

  • Avail — доступное место.

  • Use% — процент заполнения (критично при значениях >90%).


1.2. Команда lsblk — информация о блочных устройствах

Показывает список дисков и разделов.

Пример:
lsblk -f

Вывод:
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1 ext4         a1b2c3d4-5678-90ef-1234-567890abcdef /
└─sda2 swap         87654321-fedc-ba09-8765-4321fedcba09 [SWAP]

2. Анализ занятого пространства с du

2.1. Базовое использование du

Основные опции:

Опция Описание
-h Читаемый формат (ГБ, МБ)
-s Суммарный размер (без детализации)
--max-depth=N Ограничение глубины сканирования

Примеры:
du -sh /home                # Общий размер директории
du -h --max-depth=1 /var    # Размер всех папок в /var

2.2. Поиск самых больших файлов и папок

Сортировка по размеру:
du -h --max-depth=1 / | sort -hr | head -n 10

Вывод (ТОП-10 самых больших папок):
50G /
24G /home
12G /var
3.2G /opt

Поиск больших файлов:
find / -type f -size +100M -exec du -h {} + 2>/dev/null | sort -rh

2.3. Исключение файлов и папок из анализа
du -h --exclude="*.cache" /home/user      # Игнорирование кэша
du -h --exclude="/var/log" /var           # Пропуск логов
3. Где чаще всего пропадает место?

3.1. Логи (/var/log)

Проверка размера:
du -sh /var/log/*

Очистка старых логов:
sudo journalctl --vacuum-size=100M     # Для systemd
sudo rm /var/log/*.gz                  # Удаление сжатых логов

3.2. Кэш пакетов (/var/cache)

Очистка в Debian/Ubuntu:
sudo apt clean

В CentOS/RHEL:
sudo yum clean all

3.3. Временные файлы (/tmp)
sudo rm -rf /tmp/*

4. Продвинутые инструменты анализа

4.1. ncdu — интерактивный анализатор

Установка:
sudo apt install ncdu   # Debian/Ubuntu
sudo yum install ncdu   # CentOS/RHEL

Использование:
ncdu /home

Возможности:

  • Навигация стрелками

  • Удаление файлов (клавиша D)

  • Сортировка по размеру/имени

4.2. dust — визуализация в виде дерева
sudo apt install dust
dust /var

Вывод:
3.2G ┌── /var/lib
1.1G │ └── mysql
800M ├── /var/log

5. Автоматизация мониторинга

5.1. Скрипт для проверки места
#!/bin/bash
THRESHOLD=90
USAGE=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')

if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Диск / заполнен на ${USAGE}%!" | mail -s "Дисковое пространство" admin@example.com
fi

5.2. Настройка cron для регулярных проверок
crontab -e

Добавить строку (ежедневная проверка в 3:00):
0 3 * * * /path/to/disk_check.sh

6. Сравнение du и df

Команда Назначение Когда использовать?
df Показывает свободное место на разделах Для быстрой проверки заполненности диска
du Анализирует размер файлов и папок Для поиска "пожирателей" дискового пространства

7. Заключение

Основные рекомендации:

  1. Регулярно проверяйте /var/log/tmp и /var/cache.

  2. Используйте ncdu для интерактивного анализа.

  3. Настройте автоматические уведомления при заполнении диска.

Ключевые команды:
df -h                             # Проверка свободного места
du -h --max-depth=1 / | sort -h   # Поиск больших папок
ncdu /                            # Интерактивный анализ

Следуя этим советам, вы сможете эффективно управлять дисковым пространством в Linux!

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by