|
Directory : /scripts2/ |
#!/bin/bash
# Fixed thresholds
DISK_THRESHOLD=85
INODE_THRESHOLD=45
HOSTNAME=$(hostname)
ALERT_EMAIL="sysadmin@sitioshispanos.com"
ALERT_MESSAGE="**$HOSTNAME**\n\n"
ALERT_COUNT=0 # Counter for issues
# Check disk space usage
for PARTITION in "/" "/backup"; do
USED_PERCENT=$(df -P -h | awk -v part="$PARTITION" '$6 == part {gsub("%", "", $5); print $5}')
if [ -n "$USED_PERCENT" ] && [ "$USED_PERCENT" -ge "$DISK_THRESHOLD" ]; then
ALERT_MESSAGE+="- Disk Space on $PARTITION: ${USED_PERCENT}% (Threshold: ${DISK_THRESHOLD}%)\n"
((ALERT_COUNT++))
fi
done
# Check inode usage
for PARTITION in "/" "/backup"; do
INODE_PERCENT=$(df -P -i | awk -v part="$PARTITION" '$6 == part {gsub("%", "", $5); print $5}')
if [ -n "$INODE_PERCENT" ] && [ "$INODE_PERCENT" -ge "$INODE_THRESHOLD" ]; then
ALERT_MESSAGE+="- Inode Usage on $PARTITION: ${INODE_PERCENT}% (Threshold: ${INODE_THRESHOLD}%)\n"
((ALERT_COUNT++))
fi
done
# Send email only if there are alerts
if [ "$ALERT_COUNT" -gt 0 ]; then
echo -e "$ALERT_MESSAGE\n"
logger -t disk_inode_monitor "$ALERT_MESSAGE"
fi