| 導購 | 订阅 | 在线投稿
分享
 
 
 

Linux下判斷是否正常關機的一個簡單方法

來源:互聯網網民  2008-06-12 07:23:43  評論

思想:系統啓動的時候生成一個文件,正常關機的時候則刪除這個文件,則可以根據系統開機時有沒有那個文件來判斷是不是非正常關機。

步驟:

在/etc/rc.d/init.d/下編程腳本。

判斷是否正常關機,和生成文件的腳本:touch-file.sh

#!/bin/sh

file=/tmp/check

if [ -e ${file} ];then

echo "this is not normal shutdown" >>/var/log/checkmessage

else

echo "this is normal shutdown and touch file" >>/var/log/checkmessage

touch ${file}

fi

正常關機刪除文件的腳本:rm-file.sh

#!/bin/sh

file=/tmp/check

echo "this is normal shutdown and rm file" >>/var/log/checkmessage

rm -rf ${file}

讓腳本自動執行。

ln -s /etc/rc.d/rc0.d/K01rm-file /etc/rc.d/init.d/rm-file.sh

注意:

#ll /etc/rc.d/rc0.d/

軟連接兩邊的名字不哪呢個相同,後一個可以用絕對路徑或是相對路徑,千萬保證兩邊的名字不一樣。

ln -s /etc/rc.d/rc6.d/K01rm-file /etc/rc.d/init.d/rm-file.sh

ln -s /etc/rc.d/rc3.d/S01touch-file /etc/rc.d/init.d/touch-file.sh

我的系統沒用到x-window,所以沒有level5,也就是不用在/etc/rc.d/rc5.d/下放腳本。

特別注意:

K開頭的代表系統關閉的時候執行,S開頭的代表開機的時候執行。注意服務器腳本編寫的規範,因爲有K開通的軟鏈接並不一定會在關機的時候自動去執行,這是爲什麽呢?執行K腳本的時候會查詢/var/lock/subsys/下是否有與K開頭腳本同名的空文件名,如果沒有就不去執行,所以要按照服務器腳本編寫的規範,啓動的時候要在/var/lock/subsys/先touch一個與K01後面同名的空文件:

#/var/lock/subsys

#touch fm-file

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
思想:系統啓動的時候生成一個文件,正常關機的時候則刪除這個文件,則可以根據系統開機時有沒有那個文件來判斷是不是非正常關機。 步驟: 在/etc/rc.d/init.d/下編程腳本。 判斷是否正常關機,和生成文件的腳本:touch-file.sh #!/bin/sh file=/tmp/check if [ -e ${file} ];then echo "this is not normal shutdown" >>/var/log/checkmessage else echo "this is normal shutdown and touch file" >>/var/log/checkmessage touch ${file} fi 正常關機刪除文件的腳本:rm-file.sh #!/bin/sh file=/tmp/check echo "this is normal shutdown and rm file" >>/var/log/checkmessage rm -rf ${file} 讓腳本自動執行。 ln -s /etc/rc.d/rc0.d/K01rm-file /etc/rc.d/init.d/rm-file.sh 注意: #ll /etc/rc.d/rc0.d/ 軟連接兩邊的名字不哪呢個相同,後一個可以用絕對路徑或是相對路徑,千萬保證兩邊的名字不一樣。 ln -s /etc/rc.d/rc6.d/K01rm-file /etc/rc.d/init.d/rm-file.sh ln -s /etc/rc.d/rc3.d/S01touch-file /etc/rc.d/init.d/touch-file.sh 我的系統沒用到x-window,所以沒有level5,也就是不用在/etc/rc.d/rc5.d/下放腳本。 特別注意: K開頭的代表系統關閉的時候執行,S開頭的代表開機的時候執行。注意服務器腳本編寫的規範,因爲有K開通的軟鏈接並不一定會在關機的時候自動去執行,這是爲什麽呢?執行K腳本的時候會查詢/var/lock/subsys/下是否有與K開頭腳本同名的空文件名,如果沒有就不去執行,所以要按照服務器腳本編寫的規範,啓動的時候要在/var/lock/subsys/先touch一個與K01後面同名的空文件: #/var/lock/subsys #touch fm-file
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有