#!/bin/sh PATH=/bin:/usr/bin:/usr/local/bin export PATH # # Monitor the disk # ---------------- # check if any of the partitions are more than 80% full. # (crontab will automatically send an e-mail if this script # produces some output) df | egrep ' (8.%|9.%|100%) ' # # Monitor the swap # A server should normally be dimensioned such that it # does not swap. Swap space should therefore be constant # and limited. # ---------------- # check if more than 6 Mb of swap are used swpfree=`free | awk '/Swap:/{ print $3 }'` if expr $swpfree \> 6000 > /dev/null ; then echo "$0 warning! swap usage is now $swpfree" echo " " free echo " " ps auxw fi # # Monitor the network # ------------------- # your _own_ IP addr or hostname: hostn="linuxbox.your.supercomputer" # if ping -w 5 -qn -c 1 $hostn > /dev/null ; then # ok host is up echo "0" > /etc/pingfail else # no answer count up the ping failures if [ -r /etc/pingfail ]; then pingfail=`cat /etc/pingfail` else # we do not handle the case where the # pingfail file is missing exit 0 fi pingfail=`expr "$pingfail" "+" 1` echo "$pingfail ping failures" echo "$pingfail" > /etc/pingfail if [ $pingfail -gt 10 ]; then echo "more than 10 ping failures. System reboot..." /sbin/shutdown -t2 -r now fi fi # --- end of monitor script ---