Real-Time for Loop Script – Disk Usage Alert
Use Case: Check disk usage for multiple directories and alert if usage exceeds 80%.
#!/bin/bash # Use bash shell
dirs=("/" "/home" "/var") # List of directories to check
for dir in "${dirs[@]}" # Loop over each directory
do
usage=$(df -h "$dir" | awk 'NR==2 {print $5}' | sed 's/%//') # Extract usage %
if [ "$usage" -gt 80 ]; then # If usage is more than 80%
echo "Warning: Disk usage of $dir is at ${usage}%" # Print alert message
else
echo "Disk usage of $dir is normal: ${usage}%" # Print normal usage
fi
done # End of loop
Explanation:
• dirs=(...): List of directories to monitor.
• df -h "$dir": Checks disk usage in human-readable format.
• awk 'NR==2 {print $5}': Extracts the usage percentage.
• sed 's/%//': Removes the % symbol for numeric comparison.
• if [ "$usage" -gt 80 ]: Checks if usage exceeds 80%.
• Prints appropriate message for each directory.
コメント