該功能主要用於產品測試的時候,可以檢測不斷開關機后產品的穩定性。
0、准備階段
新建一個記錄開關機次數的文本文件,我這里在 /usr/bin 路徑下新建:vim /usr/bin/OnOffCount ;文件里面輸入 0 保存退出;
新建一個記錄開關機檢測狀態的文本文件,這里也是在 /usr/bin 路徑下新建:vim /usr/bin/OnOffState ;文件里面輸入 stop ,我這里用 stop 和 start 兩個不同字符串作為開關機記錄的判斷位。
1、編寫測試腳本 vim /usr/bin/OnOff.sh
#!/bin/sh COUNT_FILE=/usr/bin/OnOff/OnOffCount #保存開機次數的文件 COUNT=0 STATE=`cat /usr/bin/OnOff/OnOffState` #保存開關機開啟狀態的文件 if [ $STATE = "start" ] #判斷是否開啟 then COUNT=`cat ${COUNT_FILE}` #獲取原來保存的開機次數 tmp_data1=`expr $COUNT + 1` echo ${tmp_data1} > ${COUNT_FILE} #保存累計開機次數 sync fi if [ $STATE = "stop" ] then echo 0 > ${COUNT_FILE} #開機次數清0 sycn fi
2、編寫開機自啟動服務
該步是實現系統能夠在開機后自動運行步驟1的 OnOff.sh 腳本,自啟動服務的實現具體可以參考我另一篇博客:https://www.cnblogs.com/xingboy/p/15305027.html ;
注意:在寫開機啟動服務的時候,如果你還要啟動其他的服務腳本,而且那個腳本里是有 while 循環的,這時你就需要把步驟1的 OnOff.sh 腳本放在有 while 函數的腳本前,不然可能會出現阻塞,導致后續無法執行 OnOff.sh 腳本。
3、啟動開關機檢測
① 啟動開機自啟動服務,不同的 Linux 系統啟動方式略有不同,這跟編寫開關機服務的時候一樣;
② 修改啟動標志位,開啟開關機測試功能 echo start > /usr/bin/OnOffState && sync;
③ 關機后,下次開機就開始進行記錄開機次數了;
④ 查看開機次數:cat /usr/bin/OnOffCount;
⑤ 關閉開關機檢測:echo stop > /usr/bin/OnOffState && sync;
⑥ 這樣就可以根據你繼電器上電次數跟腳本記錄的開機次數比對,就可以進行開關機檢測了;
⑦ 注意這個腳本要先查看了開機次數后,再關閉開關機檢測,不燃先關閉開關機檢測會把記錄的開機次數清0。