Centos7 配置程序开机自启动

以前我认为配置开机自启动是一件比较高深的操作,需要配置很多东西,由于今天机房突然断电,导致机器全部关机,重新起来后发现没有配置开机自启动的程序都需要去手动启动,这样费时费力,所以我和同事将所有程序都配置了开机自启动,特此记录便于日后查阅。

配置开机自启动有两种方式,一种是 chkconfig + /etc/init.d/ 的方式配置,另一种通过 /etc/rc.d/rc.local 的方式配置,前者启动方式可以参照下面这篇文章:

Linux自定义开机启动服务和chkconfig使用方法

然后我们需要了解 /etc/init.d/ /etc/rc.d/rc.local 的区别,这里给大家奉上参考资料,传送门:

Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别

需要格外注意的是 /etc/rc.local 和 /etc/rc.d/rc.local 的文件之间是存在软连接的关系,所以修改前者的文件内容能达到相同的目的,但是你要格外注意  /etc/rc.d/rc.local 是否有执行权限,如果没有请使用 chown +x  /etc/rc.d/rc.local 去配置一下,所以我也可以通过将启动命令或者执行脚本写入 /etc/rc.d/rc.local 的方式达到开机自启动的目的,下面附上Elasticsearch的开机启动脚本

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
#author: taft

case "$1" in
start)
    su elk<<!
      cd /usr/local/elk/elasticsearch-6.7.2/
      ./bin/elasticsearch -d
    !
    echo "elasticsearch startup"
    ;;
stop)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    ;;
restart)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    su elk<<!
      cd /usr/local/elk/elasticsearch-6.7.2/
      ./bin/elasticsearch -d
    !
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac
exit $?

通过 su elk<<! ... ! 的方式来切换elk用户,然后再通过elk用户执行启动脚本。

本着文章完整性的原则再补充一个知识点,本文只是介绍了如何配置程序开机自启动,但不包括容器开机自启动,相关文章我已经写好了,在此奉上传送门:

Docker配置容器自启动

到此centos7配置开机自启动介绍完毕。

 

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BasicLab基础架构实验室

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值