MC, 2025
Ilustracja do artykułu: Így mentsd meg a szervered: bash script to check disk space

Így mentsd meg a szervered: bash script to check disk space

Kevés idegesítőbb dolog van, mint amikor egy szerver vagy számítógép hirtelen leáll, mert elfogyott a szabad hely a lemezen. Szerencsére a Bash nyújtotta lehetőségekkel könnyedén írhatunk egy szkriptet, amely automatikusan ellenőrzi a lemezterületet, és még figyelmeztet is, mielőtt a baj megtörténik. Ebben a vidám, gyakorlatias cikkben megmutatjuk, hogyan készül el egy bash script to check disk space — egyszerű példákkal, hogy Te is azonnal használni tudd!

Miért fontos figyelni a lemezhasználatot?

Az operációs rendszer működéséhez, az ideiglenes fájlok létrehozásához, a naplózáshoz vagy akár adatbázisok kezeléséhez elegendő szabad lemezterület szükséges. Ha elfogy, nemcsak az alkalmazások állhatnak le, hanem akár az egész rendszer instabillá válhat. Egy jól megírt bash script to check disk space időben figyelmeztet, így megelőzheted a problémát.

Alapvető Bash parancs a lemez ellenőrzésére

A legtöbb Unix-alapú rendszer tartalmazza a df parancsot, amely megmutatja a lemezek kihasználtságát. Például:

df -h

Ez az összes csatlakoztatott fájlrendszert mutatja emberi olvasható formában (h = human-readable). Ha csak egy adott könyvtárra vagy kíváncsi:

df -h /home

Egyszerű bash script to check disk space példák

Készítsünk egy alap szkriptet, amely ellenőrzi a gyökér (/) fájlrendszert és értesít, ha kevesebb mint 10% a szabad hely:

#!/bin/bash

THRESHOLD=10
USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')

if [ "$USAGE" -gt $((100 - $THRESHOLD)) ]; then
  echo "Figyelem! Kevés a szabad hely a '/' meghajtón: ${USAGE}% használt."
else
  echo "Minden rendben, elegendő a szabad hely: ${USAGE}% használt."
fi

Mentsd el ezt a fájlt pl. check_disk.sh néven, majd add neki végrehajtási jogot:

chmod +x check_disk.sh

Haladó szint: több partíció ellenőrzése és naplózás

Ha több partíciót használsz, érdemes azokat is sorra ellenőrizni. Íme egy script, amely naplózza az eredményeket és több partíciót is figyel:

#!/bin/bash

PARTICIONS=("/" "/home" "/var")
THRESHOLD=15
LOGFILE="/var/log/disk_usage.log"

for PART in "${PARTICIONS[@]}"; do
  USAGE=$(df "$PART" | grep "$PART" | awk '{ print $5 }' | sed 's/%//g')
  if [ "$USAGE" -gt $((100 - $THRESHOLD)) ]; then
    echo "$(date) - FIGYELEM: ${PART} partíción kevés a hely (${USAGE}% használt)" >> "$LOGFILE"
  else
    echo "$(date) - OK: ${PART} partíción elegendő szabad hely (${USAGE}% használt)" >> "$LOGFILE"
  fi
done

Email figyelmeztetés küldése

A figyelmeztetéseket akár e-mailben is megkaphatod, például a mail parancs segítségével:

echo "Kevés a szabad hely a / meghajtón!" | mail -s "Lemez figyelmeztetés" te@pelda.com

Ehhez a megoldáshoz szükség lesz egy megfelelően beállított mailer-re (pl. mailutils vagy sendmail).

Automatizálás cron segítségével

A Bash szkriptek legnagyobb ereje az automatizálásban rejlik. Állítsd be a scriptet úgy, hogy naponta fusson a cron segítségével:

crontab -e

Majd adj hozzá egy sort, pl. hogy minden nap 8:00-kor fusson:

0 8 * * * /path/to/check_disk.sh

bash script to check disk space példák valós használatra

A fenti script verziók már éles környezetben is jól használhatók. De ha például webszervert futtatsz, egy speciális partícióra is figyelhetsz külön:

PART="/var/www"
USAGE=$(df "$PART" | tail -1 | awk '{ print $5 }' | sed 's/%//')

Ha pedig konténeres vagy cloud környezetben dolgozol, célszerű a logokat és figyelmeztetéseket egy központi helyre irányítani, akár egy webhook vagy monitoring rendszer segítségével.

Interaktívabb figyelmeztetések: zenélj, ha baj van!

Egy kis vidámság: ha desktop környezetben vagy, a script lejátszhat egy hangot figyelmeztetésként:

aplay /usr/share/sounds/alert.wav

Ez már a DevOps rockstar szintje! :)

Hogyan fejlesztheted tovább?

A script továbbfejlesztésére rengeteg lehetőség van:

  • Színes terminálkimenet
  • Slack vagy Discord webhook integráció
  • JSON vagy XML export más rendszereknek
  • Gyakoriság statisztikák naplózása

Összefoglalás

A bash script to check disk space egy hasznos, könnyen implementálható megoldás minden rendszergazda vagy fejlesztő számára. Akár egyetlen laptopról, akár több szerverről van szó, a lemezterület figyelése nélkülözhetetlen. Reméljük, hogy a bemutatott bash script to check disk space példák segítségével könnyedén megírod a saját szkripted — és többé sosem ér meglepetésként az, hogy elfogyott a hely!

Boldog szkriptelést kívánunk! 🚀

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: