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

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

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

Виведемо список дисків в системі і їх розмір:

# fdisk -l

fdisk отримати розміри дисків і розділів

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

Щоб отримати більш детальну інформацію за двома розділами, які створені на диску, можна використовувати:

# lsblk

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, а другий під корінь системи.

Новий диск в Linux додається так. Для управління розділами і розміткою також зручно використовувати parted.

Перейдемо до утиліти, навколо якої ми побудували цю інструкцію:

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

Щоб лістинг команди був більш читабельний, потрібно використовувати її з опціями. наприклад:

# df -h

df - визначити вільне місце на диску в linux

Опис стовпців:

  • Filesystems – ім’я файлової системи
  • Size – розмір розділу
  • Used – використовується дисковий простір
  • Avail – доступний дисковий простір (вільний)
  • Use% – зайняте дисковий простір у відсотках
  • Mounted on – змонтовано. Вказує директорію, до якої примонтовано розділ.

При використанні опції -h дисковий простір виводиться в Гб. Якщо розмір менше 1Гб, то висновок буде в Мб.

Додаткові опції:

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

df -k – інформація буде відображена в КБ.

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

df -hT /boot – з даною опцією, буде надана інформація

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

Опції можна комбінувати між собою, для отримання потрібної інформації.

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

# df --help

Отримуємо розміри директорій командою du

Друга команда, яку ми розглянемо, це du. з – команда відображає розмір директорії.

Додаткові опції для з:

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

використовуємо команду Linux du для отримання розміру каталогів

Більше інформації по утиліті, можна побачити так:

# -du --help

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

# du -h /var/ | sort -rn

du - знайти найбільші папки в каталозі

# du --max-depth=1 -h – виводить на екрані розмір вкладених директорії, що не далі 1-го рівня вкладеності.

du - порахувати розмір вкладених каталогів

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

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 admin@example.com << EOF
В вашем корневом разделе сервера server1, осталось слишком мало дискового пространства. Используется: $CURRENT%
EOF
fi

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

Leave a Reply

Your email address will not be published. Required fields are marked *