Linux下判断是否正常关机的一个简单方法
思想:系统启动的时候生成一个文件,正常关机的时候则删除这个文件,则可以根据系统开机时有没有那个文件来判断是不是非正常关机。Cq3Q!Uy:[q5k#P~
步骤:
9VT]9\7|+B
9K%Y _@2k"t X#H3B W1~
在/etc/rc.d/init.d/下编程脚本。 d*q7h:W-Z4lj\%k
-Ai3X P0V
判断是否正常关机,和生成文件的脚本:touch-file.sh
1NL t3v l8P
5_ Vn9{,F%J]_
#!/bin/sh
file=/tmp/checkC!SK+X)w5\T
if [ -e ${file} ];thenc+Dzw;hk o#zN;HY
echo "this is not normal shutdown" >>/var/log/checkmessage
else
echo "this is normal shutdown and touch file" >>/var/log/checkmessagen6A!a ~F\X_.B
touch ${file}Y3X)w:AU gzEW
fi
1FP(K i;Pa
正常关机删除文件的脚本:rm-file.sh
Vs8^H [0g8\)l
LE!i Ka]
4I7c%fyQ
#!/bin/sh }Yl`4K-aWAq-m
file=/tmp/check
echo "this is normal shutdown and rm file" >>/var/log/checkmessagez;^J^U(S(A3y.ly4I
rm -rf ${file}
x;O(['hU:o
让脚本自动执行。 &j2rT8@:~}-E,J{h$X:N
qL5K'P6V
ln -s /etc/rc.d/rc0.d/K01rm-file /etc/rc.d/init.d/rm-file.sh
Mb+|0Q S0ZqE
|0i$qd0M
注意:
O5e'?1I B,b
#ll /etc/rc.d/rc0.d/O7p(Sb%V"dv1})pQ
5G'_N!l[ZJ
软连接两边的名字不哪呢个相同,后一个可以用绝对路径或是相对路径,千万保证两边的名字不一样。
4H+gumfQ-t*A?
ln -s /etc/rc.d/rc6.d/K01rm-file /etc/rc.d/init.d/rm-file.sh3@Uv X1?
ln -s /etc/rc.d/rc3.d/S01touch-file /etc/rc.d/init.d/touch-file.sh