解决linux下/etc/rc.local开机器不执行的原因

解决linux下/etc/rc.local开机器不执行的原因。
 

今天一用户报数据库又连接不上了,一检查发现机器重启了,手工启动即可,但想到每次都这样,于是做了一个自动启动脚本


/home/oracle/scripts/startdb.sh 内容如下:

lsnrctl start

sqlplus / as sysdba <<eof

startup;

quit

eof


 

加入 /etc/rc.local

su - oracle -c "/home/oracle/scripts/startdb.sh"

但重启机器后,没有启动数据库

手工去执行这个脚本,以及手工去执行 /etc/rc.local都可以,但就是机器启动后,没有自动启动数据库

在排除了权限原因和脚本问题后,很郁闷,怎么放到开机启动项目中就无法执行了呢。

于是去查linux开机启动过程信息。发现了开机启动程序的级别为3.

[root@dbserver ~]# cat /etc/inittab

# inittab is only used by upstart for the default runlevel.

#

# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# System initialization is started by /etc/init/rcS.conf

#

# Individual runlevels are started by /etc/init/rc.conf

#

# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf

#

# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,

# with configuration in /etc/sysconfig/init.

#

# For information on how to write upstart event handlers, or how

# upstart works, see init(5), init(8), and initctl(8).

#

# Default runlevel. The runlevels used are:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

#

id:3:initdefault:

[root@dbserver ~]#

果断顺藤摸瓜,找到了这个目录 /etc/rc.d/rc3.d,进去一看恍然大悟。

我的rc.local文件是在 /etc/rc.local中(网上都是说写在这里,我是按照网上来弄的),而我查看了系统指向rc.local文件的路径是 /etc/rc.d/rc.local

[root@dbserver ~]# ls -ltr /etc/rc.d/rc3.d/S99*

lrwxrwxrwx. 1 root root 11 Feb 1 2018 /etc/rc.d/rc3.d/S99local -> ../rc.local

后来把开机启动的脚本配置到/etc/rc.d/rc.local中(或者把S99local指向 /etc/rc.local也行),重启检查,成功!


范了经验主义哈 !!!!
 

我的机器版本为:rhel6.8

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值