Linux анализ свободного места

Записки IT специалиста

Linux — начинающим. Как узнать чем занято место на диске?

Контроль свободного места на серверах и рабочих станциях под управлением Linux является достаточно актуальной задачей для администратора, особенно при использовании SSD, объемы которых все еще меньше, чем хотелось бы. При этом недостаточно только контролировать занятое пространство, нужно еще четко понимать, чем именно оно занято, то ли это рабочие данные и нужно действительно расширять дисковую подсистему, то ли скопившийся годами хлам, который можно безболезненно удалить.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Любая работающая система со временем обрастает всякими нужными и не особо нужными файлами, которые могут быть щедро разбросаны по файловой системе. Это могут быть установочные пакеты, архивы, какие-то временные копии, которые оставили по принципу «пусть недельку полежат на всякий случай», а также временные файлы, кеши и т.д. и т.п.

И когда встает вопрос: а собственно, чем это занято место на диске? Ответить на него бывает непросто, нужен анализ использования диска и сегодня мы рассмотрим, как это можно сделать.

Утилиты df и du

Начнем с самых основ, эти утилиты может и не радуют удобством, но они есть в любом Linux-дистрибутиве и просто делают свою работу. Начнем с df, эта утилита позволяет получить отчет о доступном и использованном пространстве на файловых системах. Использовать ее просто:

Ключ -h (—human-readable) выводит данные в удобочитаемом формате, т.е. мегабайтах и гигабайтах, также можете использовать ключ -H, он делает тоже самое, но с использованием системы СИ, т.е. в расчетах используется 1000 вместо 1024.

linux-disk-space-001.png

Выяснив нужную файловую систему и точку монтирования, перейдем к более глубокому анализу того, что занимает место на диске, для чего привлечем утилиту du, которая показывает место занимаемое файлами и папками, с ней также можно использовать ключи -h или -H, но если мы выполним следующую команду, то результат нас вряд-ли обрадует:

Ниже показана часть такого вывода:

linux-disk-space-002.png

Дело в том, что утилита пройдет рекурсивно на всю глубину и выдаст размер каждой папки и файла в указанном расположении, чтобы изменить такое поведение используйте ключ -d для явного указания глубины анализа. Например, ограничимся только директориями верхнего уровня:

Ну вот, совсем уже другое дело. Как можем увидеть, больше всего места занимает директория /var:

Читайте также:  Tcp port check linux

linux-disk-space-003.png

Теперь проанализируем персонально ее:

linux-disk-space-004.png

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

Утилита ncdu

Все это хорошо, но несколько долго и муторно, может быть есть способ проще? Есть, это утилита ncdu (NCurse Disk Usage), которая представляет удобный интерактивный инструмент с псевдографическим интерфейсом. Для установки в DEB-cистемах используйте команду:

Если запустить утилиту без параметров, то она проанализирует текущее расположение, поэтому мы выполним:

Сканирование может занять некоторое время, после чего вы увидите директории и файлы первого уровня, отсортированные по уменьшению размера. Фактически все уже сделали за нас, вывод ncdu гораздо более нагляден и информативен.

linux-disk-space-005.png

Здесь же сразу вы можете получить дополнительную информацию, так значок @ слева обозначает что перед нами символическая ссылка, а буква e (empty) — указывает на пустую директорию. Как мы уже говорили, система интерактивна, для навигации следует использовать стрелки, а для перехода с уровня на уровень — Enter . Но это еще не все, вы можете сразу отсюда удалять файлы простым нажатием на d , но при этом вам придется явно подтвердить удаление, что исключает случайные срабатывания.

linux-disk-space-006.png

Для быстрого знакомства со всеми возможностями утилиты всегда можно вызвать встроенную справку, нажав ? . Все это указано прямо в шапке утилиты.

linux-disk-space-007.png

На наш взгляд, данная утилита заслуживает того, чтобы стать частью джентельменского набора любого администратора, на своих серверах мы устанавливаем ее по умолчанию. Кстати, если вы работаете с WSL (Windows Subsystem for Linux), то можете с помощью ncdu выполнять анализ файловых систем Windows.

Инструменты графической оболочки

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

linux-disk-space-008.png

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

linux-disk-space-009.png

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

linux-disk-space-010.png

Что именно использовать из предложенных вариантов — личное дело каждого. Linux тем и хорош, что предоставляет множество разных путей для решения одной и той же задачи и нельзя сказать, что какой-то из этих путей правильный, а остальные нет. Все они ведут к одной цели.

Читайте также:  Команды linux найти файл

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

  1. Linux — начинающим. Часть 1. Первое знакомство
  2. Linux — начинающим. Часть 2. Установка Ubuntu Server
  3. Linux — начинающим. Часть 3. Установка Debian 7 для сервера
  4. Linux — начинающим. Часть 4. Работаем с файловой системой. Теория
  5. Linux — начинающим. Часть 4. Работаем с файловой системой. Практика
  6. Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
  7. Linux — начинающим. Часть 6. Управление пользователями и группами. Теория
  8. Linux — начинающим. Часть 6. Управление пользователями и группами. Практика
  9. Linux — начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
  10. Настройка языка и региональных стандартов в Ubuntu Server/Debian
  11. Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
  12. Linux — начинающим. Что такое Load Average и какую информацию он несет
  13. Обновляем снятый с поддержки дистрибутив Ubuntu
  14. Linux — начинающим. Обновление Debian до следующего выпуска
  15. Осваиваем эффективную работу в Midnight Commander
  16. Linux — начинающим. Что такое пространства подкачки и как они работают
  17. Linux — начинающим. Screen — многозадачность в терминале и ни единого разрыва!
  18. Linux — начинающим. Как узнать температуру процессора и накопителей
  19. Linux — начинающим. Как получить информацию об оборудовании ПК
  20. Linux — начинающим. Установка и первоначальная настройка Debian 11 для сервера

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Просмотр свободного места на диске/разделах в Linux

date

20.02.2021

user

VyacheslavK

directory

Linux

comments

комментария 3

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

Для чего нужно следить за дисковым пространством в системе? Разделы в Linux устроены так, что их можно заполнить на 100% и даже после такого, система продолжит работать. А вот отдельные сервисы могут пострадать, что может повлечь за собой необратимые последствия.

Просмотр занятого места на разделах командой du

Выведем список дисков в системе и их размер:

fdisk получить размеры дисков и разделов

В моем случае, на виртуальной машине доступен 1 диск размером 40Гб.

Чтобы получить более детальную информацию по двум разделам, которые созданы на диске, можно использовать:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 512M 0 part /boot └─vda2 253:2 0 39.5G 0 part /

В листинге команды видно, что один раздел используется под /boot, а второй под корень системы.

Читайте также:  Behringer u phoria umc202hd linux

Новый диск в Linux добавляется так. Для управления разделами и разметкой также удобно использовать parted.

Перейдем к утилите, вокруг которой мы построили данную инструкцию:

df – это команда позволяет отобразить информацию о свободном/доступном месте на диске, файловой системы раздела.

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

df - определить свободное место на диске в linux

  • Filesystems – имя файловой системы
  • Size – размер раздела
  • Used – используемое дисковое пространство
  • Avail – доступное дисковое пространство(свободное)
  • Use% — занятое дисковое пространство в процентах
  • Mounted on – смонтировано. Указывает директорию, к которой примонтирован раздел.

При использовании опции -h дисковое пространство выводится в Гб. Если размер меньше 1Гб, то вывод будет в Мб.

df -m – информация будет отображена в Мб.

df -k — информация будет отображена в Кб.

df -T – к выводу добавиться тип файловой системы

df -hT /boot – с данной опцией, будет предоставлена информация

df - сколько место свобожно на разделе

Опции можно комбинировать между собой, для получения нужной информации.

Полная справка по df доступна через команду:

Получаем размеры директорий командой du

Вторая команда, которую мы рассмотрим, это du. du – команда отображающая размер директории.

Дополнительные опции для du:

  • du -h – показывает информацию в читабельном формате. Можно указать путь к конкретной директории, если применить без этого, покажет информацию в текущем каталоге.
  • du -sh – покажет размер директории в которой вы находитесь. Можно указать путь к директории.
  • du -m – вывод информации в Мб.
  • du -h —time – выведет информацию с дополнительным столбцом по времени изменения директории или файлов.

используем команду Linux du для получения размера каталогов

Больше информации по утилите, можно увидеть так:

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

du - найти самые большие папки в каталоге

# du —max-depth=1 -h – выводит на экране размер вложенных директории, не дальше 1-го уровня вложенности.

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

Bash скрипт мониторинга свободного места в Linux

Рассмотрим простой bash скрипт, для мониторинга дискового пространства на сервере и отправке email уведомления администратору, если места недостаточно.

#!/bin/bash
CURRENT=$(df / | grep / | awk ‘< print $5>‘ | sed ‘s/%//g’)
THRESHOLD=90
if [ «$CURRENT» -gt «$THRESHOLD» ] ; then
mail -s ‘Заканчивается дисковое пространство’ -r [email protected] В вашем корневом разделе сервера server1, осталось слишком мало дискового пространства. Используется: $CURRENT%
EOF
fi

При достижении заполняемости директории / до 90% к вам на почту будет отправляться уведомление. Добавьте данный скрипт в cron и мониторьте вашу систему. Можно изменить скрипт, чтобы он смотрел за размером определенного раздела или каталога.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector