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尚未被定义)
机器启动后手动执行脚本又能成功,经常被搞得晕头转向的。经过测试和查找资料,终于解决了这问题,解决方式如下
/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尚未被定义)
相关文章推荐
- Linux(9.28-10.4)学习笔记
- Linux(9.28-10.4)学习笔记
- linux文件锁学习01
- linux系统autofs自动挂载服务
- Linux用vim/vi给文件加密和解密
- Linux下的编辑器:vi和vim
- centos误删除文件如何恢复
- centos去掉开机后的进度条
- centos的epel
- linux-svn命令
- CentOS6.5安装VNC
- linux中用户,组管理
- 查看和修改环境变量PATH
- linux系统安装
- yum源报错 提示 Couldnt resolve host mirrorlist.centos.org
- 转载~kxcfzyk:Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解
- esxi linux 添加硬盘
- Linux源码中链表的声明和初始化
- 在CentOS上MySQL数据库服务器配置方法
- linux 查看linux 版本