该功能主要用于产品测试的时候,可以检测不断开关机后产品的稳定性。
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。