Linux環境下判斷伺服器是否正常關機

2021-06-19 12:07:41 字數 1438 閱讀 5398

啟動時生成乙個檔案,

然後關機時把它刪掉。

下次啟動時,如果這個檔案還在,就說明上次不是正常關機了。

把刪除檔案的指令碼寫在 /etc/rc6.d/ 和 /etc/rc0.d/ 下,

把判斷是否正常關機和生成檔案的指令碼放在 /etc/rc3.d/ 和 /etc/rc5.d/ 下。如果系統沒有預設的方法,我就按照flw的方法做了。

系統啟動的時候生成乙個檔案,正常關機的時候則刪除這個檔案,則可以根據系統開機時有沒有那個檔案來判斷是不是非正常關機。

系統啟動的時候生成乙個檔案,正常關機的時候則刪除這個檔案,則可以根據系統開機時有沒有那個檔案來判斷是不是非正常關機。

步驟:在/etc/rc.d/init.d/下程式設計指令碼。

判斷是否正常關機,和生成檔案的指令碼:touch-file.sh

#!/bin/sh

file=/tmp/check

if [ -e $ ];then

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

else

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

touch $

fichmod 777  /etc/rc.d/init.d/touch-file.sh

正常關機刪除檔案的指令碼:rm-file.sh

#!/bin/sh

file=/tmp/check

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

rm -rf $

chmod 777 /etc/rc.d/init.d/rm-file.sh

讓指令碼自動執行。

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

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

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

我的系統沒用到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

Linux環境下判斷伺服器是否正常關機

2009 05 17 來自 zdnet 收藏系統啟動的時候生成乙個檔案,正常關機的時候則刪除這個檔案,則可以根據系統開機時有沒有那個檔案來判斷是不是非正常關機。系統啟動的時候生成乙個檔案,正常關機的時候則刪除這個檔案,則可以根據系統開機時有沒有那個檔案來判斷是不是非正常關機。步驟 在 etc rc....

linux如何判斷伺服器是否被入侵

實驗幾個步驟,借鑑資料,分享給。非常感謝網上提供資料幫助的。1 當時誰登入。拓展使用 whois ip位址 追查ip所註冊的組織的所有資訊,當然包括國家資訊 1 linux 下 whois 命令列的安裝 centos 下安裝命令如下 yum install y jwhois debian ubunt...

伺服器判斷http是否中斷

一般來說,只需要send或者recv一下,如果結果為零,則為掉線。1.當recv返回值為0是表示對方已經正常 msdn說是完美的 的斷開連線.2.當recv返回socket error時,說明對方已經斷開連線,但是可能是非正常斷開 斷網或者客戶端程序結束 如果你擔心在讀的時候被阻塞,使用select...