Í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!