63 lines
1.5 KiB
Plaintext
Executable File
63 lines
1.5 KiB
Plaintext
Executable File
function SUN_swap_mon
|
|
{
|
|
############# CAPTURE AND PROCESS THE DATA ################
|
|
|
|
# Use two awk statements to extract the $9 and $11 fields
|
|
# from the swap -s command output
|
|
|
|
SW_USED=$(swap -s | awk '{print $9}' | cut -dk -f1)
|
|
SW_FREE=$(swap -s | awk '{print $11}' | cut -dk -f1)
|
|
|
|
# Add SW_USED to SW_FREE to get the total swap space
|
|
|
|
((SW_TOTAL = SW_USED + SW_FREE))
|
|
|
|
# Calculate the percent used and percent free using the
|
|
# bc utility in a here documentation with command substitution
|
|
|
|
PERCENT_USED=$(bc <<EOF
|
|
scale=4
|
|
($SW_USED / $SW_TOTAL) * 100
|
|
EOF
|
|
)
|
|
|
|
PERCENT_FREE=$(bc <<EOF
|
|
scale=4
|
|
($SW_FREE / $SW_TOTAL) * 100
|
|
EOF
|
|
)
|
|
|
|
# Convert the KB measurements to MB measurements
|
|
|
|
((SW_TOTAL_MB = SW_TOTAL / 1000))
|
|
((SW_USED_MB = SW_USED / 1000))
|
|
((SW_FREE_MB = SW_FREE / 1000))
|
|
|
|
# Produce the remaining part of the report
|
|
|
|
echo "\nTotal Amount of Swap Space:\t${SW_TOTAL_MB}MB"
|
|
echo "Total KB of Swap Space Used:\t${SW_USED_MB}MB"
|
|
echo "Total KB of Swap Space Free:\t${SW_FREE_MB}MB"
|
|
echo "\nPercent of Swap Space Used:\t${PERCENT_USED}%"
|
|
echo "\nPercent of Swap Space Free:\t${PERCENT_FREE}%"
|
|
|
|
# Grab the integer portion of the percent used
|
|
|
|
INT_PERCENT_USED=$(echo $PERCENT_USED | cut -d. -f1)
|
|
|
|
# Check to see if the percentage used maxmum threshold
|
|
# has beed exceeded
|
|
|
|
if (( PC_LIMIT <= INT_PERCENT_USED ))
|
|
then
|
|
# Percent used has exceeded the threshold, send notification
|
|
|
|
tput smso # Turn on reverse video!
|
|
echo "\n\nWARNING: Swap Space has Exceeded the ${PC_LIMIT}% Upper Limit!\n"
|
|
tput rmso # Turn off reverse video!
|
|
fi
|
|
|
|
echo "\n"
|
|
}
|
|
|