SHOW:
|
|
- or go back to the newest paste.
| 1 | #!/usr/bin/env bash | |
| 2 | ||
| 3 | log_dir="/var/log" | |
| 4 | logs_ver=( "wtmp" "wtmp.1" "wtmp.2" "wtmp.3" ) | |
| 5 | - | #last_state=( "crash" "shutdown" "reboot" ) |
| 5 | + | sh="shutdown" |
| 6 | - | #crash_status=`last -a -x | grep crash` |
| 6 | + | re="reboot" |
| 7 | - | #shutdown_status=`last -a -x | grep shutdown` |
| 7 | + | |
| 8 | - | #status_report=`last -a -x | grep $last_state` |
| 8 | + | |
| 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 | - | echo "wtmp log existed $wtmp_logs" |
| 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 last -a -x -f $wtmp_logs| grep "crash"; |
| 16 | + | if [ $absd -gt $bbsd ]; then |
| 17 | - | then echo "Status report is CRASH" |
| 17 | + | echo "reboot $absd times > shutdown $bbsd times" |
| 18 | - | elif last -a -x -f $wtmp_logs| grep "shutdown"; |
| 18 | + | echo "sumething not right" |
| 19 | - | then echo "Shutdown process detected" |
| 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 |