CentOS 7添加开机启动服务/脚本

PS:需要注意一点,我们一般将某些环境属性(如JDK)配置在了/etc/profile中,而/etc/profile是在用户登录时才会加载,所以如果开机启动脚本中要用到java环境,需要手动加载进来!!!这样才能实现tomcat或java项目的开机自启,否则是不会执行的~

开机要启动的脚本startApp.sh

[root@localhost application]# vi /home/application/startApp.sh

[root@localhost application]# cat /home/application/startApp.sh
#!/bin/bash
nohup java -jar /home/application/pan/preview.jar>/home/application/pan/preview.log &
nohup java -jar /home/application/pan/cloud.jar>/home/application/pan/cloud.log &
/bin/echo $(/bin/date +%F_%T) >> /home/application/startApp.log

方法一:修改/etc/rc.local

/etc/rc.local,该文件为链接文件

[root@localhost application]# ll /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Feb  5 10:03 /etc/rc.local -> rc.d/rc.local

修改/etc/rc.local文件

[root@localhost application]# vi /etc/rc.d/rc.local

[root@localhost application]# cat /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

#注意这句话Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
#一定要给脚本放权才能执行

touch /var/lock/subsys/local
su - root -c '/etc/rc.d/init.d/file-preview-server.sh'

#加载java环境
export JAVA_HOME=/home/java/jdk1.8.0_201
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

#启动redis
service redis start

#启动nexus
service nexus start

#启动mysql
service mysqld start

#启动nginx
nginx

#启动natapp内外网穿透
nohup /usr/local/natapp/natapp -authtoken=XXX -log=stdout -loglevel=ERROR &

#启动tomcat
/home/tomcat7/bin/startup.sh

#启动app
/home/application/startApp.sh

 centos中/etc/rc.d/rc.local默认是无权执行的,所以按照/etc/rc.d/rc.local注释中所说:

[root@localhost application]# chmod +x /etc/rc.d/rc.local

 

 

方法二:chkconfig管理

删除掉方法一的配置,并且在/home/application/startApp.sh中引入java环境

[root@localhost application]# vi /etc/init.d/startApp
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /home/application/startApp.sh >/dev/null 2>/dev/null

[root@localhost application]# chmod +x /home/application/startApp.sh

添加到chkconfig,开机自启动 

[root@localhost application]# chkconfig --add startApp
[root@localhost application]# chkconfig --list startApp
startApp           	0:off	1:off	2:off	3:on	4:off	5:off	6:off

重启系统,验证结果

关闭开机启动 

[root@localhost application]# chkconfig startAPp off
[root@localhost application]# chkconfig --list startApp
startApp           	0:off	1:off	2:off	3:off	4:off	5:off	6:off

从chkconfig管理中删除test

[root@localhost application]# chkconfig --list startApp
test           	0:off	1:off	2:off	3:off	4:off	5:off	6:off

[root@localhost application]# chkconfig --del startApp

[root@localhost application]# chkconfig --list startApp
service test supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add startApp')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值