salawank

last-check state2

Jan 30th, 2012
79
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env bash
  2.  
  3. log_dir="/var/log"
  4. logs_ver=( "wtmp" "wtmp.1" "wtmp.2" "wtmp.3" )
  5. sh="shutdown"
  6. re="reboot"
  7.  
  8. for i in ${logs_ver[@]}; do
  9.         wtmp_logs=$log_dir/$i
  10.         if [ -f "$wtmp_logs" ]; then
  11.                 echo "Log for $wtmp_logs"
  12.                         if uname -a | grep -i bsd > /dev/null 2>&1;
  13.                                 then echo "System is *Bsd variant"
  14.                                         absd=`last -f $wtmp_logs| grep -i -E "$re"|wc -l`
  15.                                         bbsd=`last -f $wtmp_logs| grep -i -E "$sh"|wc -l`
  16.                                         if [ $absd -gt $bbsd ]; then
  17.                                                 echo "reboot $absd times > shutdown $bbsd times"
  18.                                                 echo "sumething not right"
  19.                                         else
  20.                                                 echo "reboot $absd times = shutdown $bbsd times OK"
  21.                                         fi
  22.                         elif uname -a | grep -i linux > /dev/null 2>&1;
  23.                                 then echo "System is *Linux variant"
  24.                                         a=`last -a -x -f $wtmp_logs| grep -i -E "$re"|wc -l`
  25.                                         b=`last -a -x -f $wtmp_logs| grep -i -E "$sh"|wc -l`
  26.                                         if [ $a -gt $b ]; then
  27.                                                 echo "reboot $a times > shutdown $b times"
  28.                                                 echo "sumething not right"
  29.                                         else
  30.                                                 echo "reboot $a times = shutdown $b times OK"
  31.                                         fi
  32.                         else
  33.                                 echo "not found"
  34.                         fi
  35.         else
  36.                 echo "wtmp log not existed for $wtmp_logs"
  37.         fi
  38. done
RAW Paste Data