summaryrefslogtreecommitdiffstats
path: root/remote/osx
diff options
context:
space:
mode:
Diffstat (limited to 'remote/osx')
-rwxr-xr-xremote/osx/check_server_status.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/remote/osx/check_server_status.sh b/remote/osx/check_server_status.sh
new file mode 100755
index 0000000..ec7c0f2
--- /dev/null
+++ b/remote/osx/check_server_status.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+root=`df -m | grep /dev/disk3s2 | sed -E 's/[[:space:]]+/ /g' | cut -d ' ' -f 4`
+fs=`df -m | grep /dev/disk2 | sed -E 's/[[:space:]]+/ /g' | cut -d ' ' -f 4`
+cpu=`uptime | sed -E "s/[[:space:]]+/ /g" | tr ' ' '\n' | tail -n 1`
+mem=`top -l 1 | grep PhysMem | sed -E "s/[[:space:]]+/ /g"`
+
+cache=`echo $mem | cut -f 6 -d ' '`
+free=`echo $mem | cut -f 10 -d ' '`
+
+len=`echo $cache | wc -c`
+len=`expr $len - 1`
+units=`echo $cache | cut -c $len`
+len=`expr $len - 1`
+size=`echo $cache | cut -c -$len`
+
+if [ $units == "G" ]; then
+ size=`expr $size '*' 1024`
+elif [ $units != "M" ]; then
+ size=0
+fi
+
+len=`echo $free | wc -c`
+len=`expr $len - 1`
+units=`echo $free | cut -c $len`
+len=`expr $len - 1`
+fsize=`echo $free | cut -c -$len`
+if [ $units == "G" ]; then
+ size=`expr $fsize '*' 1024 + $size`
+elif [ $units == "M" ]; then
+ size=`expr $fsize + $size`
+fi
+
+mem=$size
+
+if [ $root -le 8192 ]; then
+ echo "Only $(($root / 1024)) GB left in the root file system"
+fi
+
+if [ $fs -le 102400 ]; then
+ echo "Only $(($fs / 1024)) GB left in the PDV file system"
+fi
+
+if [ $mem -le 512 ]; then
+ echo "The system is starving on memory, $mem MB left free"
+fi
+
+if [ `echo "$cpu < 7.80" | bc` -eq 0 ]; then
+ echo "The system is starving on cpu, $cpu is load average for the last 15 min"
+fi