initial commit
This commit is contained in:
86
chapter18/AIX_paging_mon.ksh
Executable file
86
chapter18/AIX_paging_mon.ksh
Executable file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/ksh
|
||||
#
|
||||
# SCRIPT: AIX_paging_mon.ksh
|
||||
#
|
||||
# AUTHOR: Randy Michael
|
||||
# DATE: 5/31/2007
|
||||
# REV: 1.1.P
|
||||
#
|
||||
# PLATFORM: AIX Only
|
||||
#
|
||||
# PURPOSE: This shell script is used to produce a report of
|
||||
# the system's paging space statistics including:
|
||||
#
|
||||
# Total paging space in MB, MB of Free paging space,
|
||||
# MB of Used paging space, % of paging space Used, and
|
||||
# % of paging space Free
|
||||
#
|
||||
# REV LIST:
|
||||
#
|
||||
#
|
||||
# set -x # Uncomment to debug this shell script
|
||||
# set -n # Uncomment to check command syntax without any execution
|
||||
#
|
||||
###########################################################
|
||||
################ DEFINE VARIABLES HERE ####################
|
||||
|
||||
PC_LIMIT=65 # Percentage Upper limit of paging space
|
||||
# before notification
|
||||
|
||||
THISHOST=$(hostname) # Host name of this machine
|
||||
PAGING_STAT=/tmp/paging_stat.out # Paging Stat hold file
|
||||
|
||||
###########################################################
|
||||
################ INITIALIZE THE REPORT ####################
|
||||
|
||||
echo "\nPaging Space Report for $THISHOST\n"
|
||||
date
|
||||
|
||||
###########################################################
|
||||
############# CAPTURE AND PROCESS THE DATA ################
|
||||
|
||||
# Load the data in a file without the column headings
|
||||
|
||||
lsps -s | tail +2 > $PAGING_STAT
|
||||
|
||||
# Start a while loop and feed the loop from the bottom using
|
||||
# the $PAGING_STAT file as redirected input
|
||||
|
||||
while read TOTAL PERCENT
|
||||
do
|
||||
# Clean up the data by removing the suffixes
|
||||
PAGING_MB=$(echo $TOTAL | cut -d 'MB' -f1)
|
||||
PAGING_PC=$(echo $PERCENT | cut -d% -f1)
|
||||
|
||||
# Calculate the missing data: %Free, MB used and MB free
|
||||
(( PAGING_PC_FREE = 100 - PAGING_PC ))
|
||||
(( MB_USED = PAGING_MB * PAGING_PC / 100 ))
|
||||
(( MB_FREE = PAGING_MB - MB_USED ))
|
||||
|
||||
# Produce the rest of the paging space report:
|
||||
echo "\nTotal MB of Paging Space:\t$TOTAL"
|
||||
echo "Total MB of Paging Space Used:\t${MB_USED}MB"
|
||||
echo "Total MB of Paging Space Free:\t${MB_FREE}MB"
|
||||
echo "\nPercent of Paging Space Used:\t${PERCENT}"
|
||||
echo "\nPercent of Paging Space Free:\t${PAGING_PC_FREE}%"
|
||||
|
||||
# Check for paging space exceeded the predefined limit
|
||||
if ((PC_LIMIT <= PAGING_PC))
|
||||
then
|
||||
# Paging space is over the limit, send notification
|
||||
|
||||
tput smso # Turn on reverse video!
|
||||
|
||||
echo "\n\nWARNING: Paging Space has Exceeded the ${PC_LIMIT}% \
|
||||
Upper Limit!\n"
|
||||
|
||||
tput rmso # Turn off reverse video
|
||||
fi
|
||||
|
||||
done < $PAGING_STAT
|
||||
|
||||
rm -f $PAGING_STAT
|
||||
|
||||
# Add an extra new line to the output
|
||||
|
||||
echo "\n"
|
||||
Reference in New Issue
Block a user