让centos开机启动一个程序

为了让 apache apollo在 系统在cent系统开机启动起来,折腾了蛮久。
记下来,其他的要开机启动的程序也可以这样执行:
下边是折腾过程,都不见效果.
一、添加开机自启服务
在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):

systemctl enable jenkins.service #设置jenkins服务为自启动服务
sysstemctl start jenkins.service #启动jenkins服务
二、添加开机自启脚本
在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:

#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/startup.sh #启动tomcat
方法一
1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)

chmod +x /opt/script/autostart.sh
2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容

/opt/script/autostart.sh
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限

chmod +x /etc/rc.d/rc.local
方法二
1、将脚本移动到/etc/rc.d/init.d目录下

mv /opt/script/autostart.sh /etc/rc.d/init.d
2、增加脚本的可执行权限

chmod +x /etc/rc.d/init.d/autostart.sh
3、添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on

以上测试都不管用,这样做了
1,创建连接到init.d
ln -s /var/lib/mybroker/bin/apollo-broker-service /etc/init.d/apollo
2, 使用/etc/init.d/apollo start不管用,改用命令,cd到路径下 service apollo start

centos提示Redirecting to /bin/systemctl start apollo.service
Failed to start apollo.service: Unit not found.
继续,在apollo-broker-service路径下,-----最后还是不成功,目前不会开机自动启动一个程序,,,,,,未完待续

最后这样搞定了。
最后我这样做了。!!!!!!!!
1,建立一个.SH脚本,自己执行./XX.SH 发现apollo-broker-service status is running
那么剩下的就是让XX.SH开机启动了,
2,在/etc/rc.d路径下有个rc.local,要把这个脚本的路径加进rc.local如下
touch /var/lock/subsys/local
/etc/rc.d/apollo_start.sh //这句是自己要加的脚本的路径
3,按照网络所说,需要chmod +x apollo_start.sh 再执行一个 chmod +x rc.local,要再rc.d的路径下执行。
最后reboot发现可以正常工作。

你可能感兴趣的:(linux/centos)