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

来源:互联网 发布:长沙网络培训 编辑:程序博客网 时间:2024/04/29 14:10

有时我们自己在/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尚未被定义)

0 0