最近在运维公司一台恒生行情服务器过程中,突然某周一发现之前配置/etc/rc.local中能随机器启动脚本没有随机器启动,但手动执行均正常。
根据网上各种眼花缭乱资料,核查相关执行权限都有,但就是不执行,连touch /var/lock/subsys/local都不执行。
没办法,想过重装,虽然是虚拟机,克隆安装简单,但感觉如果是物理服务器,那是非常麻烦,故还是希望找到原因。
中途考虑过做成服务,在rc5.d中重建链接,都失败了。
最后,通过对/var/lock/subsys/随机启动服务进行分析,对比正常服务器,发现少了splunk后面的系统自启动服务。但splunk进程存在。找到splunk管理员,重启splunk过程中,splunk管理员发现需要输入pem码,或者回车,认为不对,重装splunk后,启动不再需要输入信息,相关splunk之后的服务也都起来,恒生行情服务在local中启动。
通过以上分析,以后对linux启动理解更深刻。检查/var/lock/subsys/下服务,如果某个服务没有启动,或者吭住等待输入,此时进程是正常的,但可能影响之后的启动服务。故需要从异常启动的服务分析。异常服务就根据/etc/rc.d/rc*.d/下相关启动顺序和/var/lock/subsys/下文件来分析。