关于centos下开机自启动问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于centos下开机自启动问题相关的知识,希望对你有一定的参考价值。

我在/etc/rc.d/rc.local下加了这2条命令
/usr/app/mongodb/bin/mongod --dbpath=/usr/app/mongodb/data --auth --logpath=/usr/app/mongodb/logs/dblogs --fork
/usr/local/bin/pm2 start /usr/app/node/koa/app.js --name koa --node-args="--harmony-generators" --watch
第一条启动mongodb的能启动成功,第二条启动node.js就不能成功。
而将第二条命令直接放在命令行下执行是能执行成功的。
为什么开机启动不执行?或者说如何调试哪里错了?

参考技术A 当池塘的莲褪去洁白的外衣
所有过往的绚丽和璀璨
为昨日写下浓重深情的一笔

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法


  1. 开机不启动

在实际生产场景中,我们喜欢在安装了一些软件服务后,将软件设置为开机自启动,设置为开机自启动有两种方法:

1)  设置为chkconfig,可以编写脚本,查看设置开机自启动的命令 –add表示添加程序自启动, --list表示查看。

以后的程序如果需要使用chkconfig开机自启动,那么需要在启动程序中加入三行:

# chkconfig:2345 20 80

#description: Saves and restores system entropy pool for \

#              higher quality random numbergeneration.

                 第一行中的20,80是启动级别,不能与其他程序一样,因此,需自定义设置。

2)  配置在/etc/rc.local文件中。直接将软件服务的启动命令写在rc.local文件

注意:编辑完rc.local文件后,一定要给rc.local文件执行权限,否则开机时不会执行rc.local文件中脚本命令

chmod+x /etc/rc.local

  1. 关于在rc.local文件中指定用户执行脚本命令

使用su命令即可,命令格式:

su - username -c “your-cammand” ,如:

[[email protected] ~]$ cat /etc/rc.local

#!/bin/bash

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

#

# It is highly advisable to create own systemdservices or udev rules

# to run scripts during boot instead of using thisfile.

#

# In constrast to previous versions due to parallelexecution during boot

# this script will NOT be run after all otherservices.

#

# Please note that you must run ‘chmod +x/etc/rc.d/rc.local‘ to ensure

# that this script will be executed during boot.

 

touch /var/lock/subsys/local

/bin/systemctl start iptables.service

#startup mongodb

/bin/su - xiaoyao -c  "/mnt/mongodb/bin/mongod --config/mnt/mongodb/bin/mongodb.conf"

 

注意:指定用户执行的脚本(程序)目录,该用户必须有管理该脚本(程序)目录(文件)的权限。

最好将该脚本(程序)目录的所有权给该用户:

chown -R xiaoyao.xiaoyao /mnt/mongodb


以上是关于关于centos下开机自启动问题的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法

Centos开机自启动脚本的制作

Centos7下添加开机自启动服务和脚本

关于开机自启动文件rc.local的使用与取消