您的位置:首页 > 运维架构 > Linux

Linux rc.d路径下文件执行时候把日志输出到log

2015-10-08 16:57 211 查看
有时我们自己在/etc/rc.d/rc.local里面增加的随机器启动的脚本和指令总是不能自动加载和启动,类似的还有/etc/rc.d/init.d里面的各种系统启动项,

机器启动后手动执行脚本又能成功,经常被搞得晕头转向的。经过测试和查找资料,终于解决了这问题,解决方式如下

/etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把/etc/rc.d/rc.local里面的指令或脚本不能执行的日志写入/var/log/messages

,我们查看messages文件内容就知道具体的问题出在哪里了

--

例如 /etc/rc.d/init.d/tomcat8 的出错日志如下

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: ++ expr 'lrwxrwxrwx 1 root root 59 Oct 8 15:18 /etc/rc.d/init.d/tomcat8 -> /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh' : '.*-> \(.*\)$'

Oct 8 15:54:49 iZ23psiz6rgZ systemd: Started OpenSSH server daemon.

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + link=/usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + expr /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh : '/.*'

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + PRG=/usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + '[' -h /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh ']'

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: ++ dirname /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/startup.sh

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + PRGDIR=/usr/programfile/tomcat/apache-tomcat-8.0.27/bin

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + EXECUTABLE=catalina.sh

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + false

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + '[' '!' -x /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/catalina.sh ']'

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: + exec /usr/programfile/tomcat/apache-tomcat-8.0.27/bin/catalina.sh start start

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Oct 8 15:54:49 iZ23psiz6rgZ tomcat8: At least one of these environment variable is needed to run this program

说明在tomcat8里面需要定义JAVA_HOME 环境变量(此时系统还未启动完毕,JAVA_HOME尚未被定义)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: