fix: pass an argument to the awk script as a variable

MonitorIO: Add an argument check and a hint to the user
This commit is contained in:
The-going
2023-01-20 14:15:52 +03:00
parent fc417f5c29
commit 4fe4e21969

View File

@@ -503,13 +503,21 @@ ProcessStats() {
} # ProcessStats
MonitorIO() {
LastPagesOut=$(awk -F" " '/pgpgout/ {print $2}' </proc/vmstat)
LastWrite=$(awk -F" " "/ $1 / {print \$8}" </proc/diskstats)
LastPagesOut=$(awk '/pgpgout/ {print $2}' </proc/vmstat)
if grep -q "$1" /proc/diskstats; then
LastWrite=$(awk -v d="$1" '{if($3 == d) print $8}' </proc/diskstats)
else
echo "Bud argument: [$1]"
echo "Disks valid for monitoring: $(
awk '{if($8 != 0) printf "%s ", $3}' /proc/diskstats
)"
exit 1
fi
LastTimeChecked=$(date "+%s")
while true ; do
CurrentWrite=$(awk -F" " "/ $1 / {print \$8}" </proc/diskstats)
CurrentWrite=$(awk -v d="$1" '{if($3 == d) print $8}' </proc/diskstats)
if [ ${CurrentWrite} -gt ${LastWrite} ]; then
PagesOut=$(awk -F" " '/pgpgout/ {print $2}' </proc/vmstat)
PagesOut=$(awk '/pgpgout/ {print $2}' </proc/vmstat)
TimeNow=$(date "+%s")
PagesWritten=$((CurrentWrite - LastWrite))
PageOuts=$((PagesOut - LastPagesOut))