diff --git a/bash_scripts/diskspace.sh b/bash_scripts/diskspace.sh new file mode 100755 index 0000000..5befd5e --- /dev/null +++ b/bash_scripts/diskspace.sh @@ -0,0 +1,60 @@ +#!/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 + ;; +