61 lines
2.1 KiB
Bash
Executable File
61 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# =============================================================================
|
|
# COLECȚIE DE SCRIPTURI BASH PENTRU DEVOPS JUNIOR
|
|
# Exemple practice cu explicații pentru învățare
|
|
# =============================================================================
|
|
|
|
echo "Alege un script pentru a-l rula:"
|
|
echo "1. Monitor disk space (verificare spațiu)"
|
|
echo "2. Backup automat fișiere"
|
|
echo "3. Verificare status servere"
|
|
echo "4. Curățare fișiere vechi"
|
|
echo "5. Calculator simplu"
|
|
echo "6. Monitor procese"
|
|
echo ""
|
|
read -p "Alege opțiunea (1-6): " optiune
|
|
|
|
case $optiune in
|
|
1)
|
|
# =============================================================================
|
|
# SCRIPT 1: MONITOR DISK SPACE
|
|
# Verifică spațiul pe disk și avertizează dacă e plin
|
|
# CONCEPTE: while loop, if-else, aritmetică
|
|
# =============================================================================
|
|
|
|
echo ""
|
|
echo "=== MONITOR SPAȚIU DISK ==="
|
|
echo ""
|
|
|
|
# Setează pragul de alertă (în procente)
|
|
PRAG_ALERTA=80
|
|
|
|
# df = disk free (afișează spațiul pe disk)
|
|
# -h = human readable (MB, GB în loc de bytes)
|
|
# awk = procesare text (extrage coloane)
|
|
|
|
echo "Verificare partitii..."
|
|
echo ""
|
|
|
|
# while read = citește linie cu linie
|
|
# IFS= păstrează spațiile
|
|
df -h | grep -E '^/dev/' | while read linie; do
|
|
# Extrage utilizarea (coloana 5, ex: 45%)
|
|
utilizare=$(echo $linie | awk '{print $5}' | sed 's/%//')
|
|
partitie=$(echo $linie | awk '{print $1}')
|
|
punct_montare=$(echo $linie | awk '{print $6}')
|
|
|
|
echo "Partitie: $partitie ($punct_montare)"
|
|
echo "Utilizare: $utilizare%"
|
|
|
|
# Compară numerele (utilizare cu pragul)
|
|
if [ $utilizare -gt $PRAG_ALERTA ]; then
|
|
echo "⚠️ ALERTA! Spatiu critic!"
|
|
else
|
|
echo "✓ OK"
|
|
fi
|
|
echo ""
|
|
done
|
|
;;
|
|
|