linux实现开机自启动服务/脚本
admin
2024-01-21 13:03:20
0

linux实现开机自启动服务或者开机自运行用户自定义脚本有三种方式

方式一:
执行 systemctl enable 服务名 命令,将对应服务的.service文件软链接到 /etc/systemd/system/multi-user.target.wants/ 目录下
(此种方式一般适用于通过rpm部署的软件,系统自动创建了对应服务的.service文件这种情形,当然我们也可以自己编写.service文件,然后就可以交给systemctl命令去管理服务,只不过自己编写较为麻烦)

通过rpm安装软件的方式,通常都会在 /usr/lib/systemd/system/ 目录下帮我们创建好.service文件,有了.service文件,我们就可以用systemctl命令去管理我们的服务。
例如我们通过rpm的方式安装kong服务,那么安装过程中会在 /usr/lib/systemd/system/ 目录下帮我们创建kong.service文件,有了kong.service文件,我们就可以通过 systemctl start kong 命令去启动kong服务,如果对应的服务没有.service文件,那么用systemctl命令就会提示找不到.service文件。
如果我们要配置kong服务开机自启,只需执行 systemctl enable kong 命令,系统会自动帮我们把 /etc/systemd/system/multi-user.target.wants/kong.service 软链接到 /etc/systemd/system/multi-user.target.wants/ 目录下,在这个目录下的服务都会在开机的时候进行自启动。
另外,有时候我们配置开机自启动的服务可能启动失败,最大的原因可能是服务之间有依赖关系;例如,我们把kong服务和postgresql服务都设置成开机自启动,由于kong服务依赖于postgresql服务,因此如果是kong服务先启动的话,就会失败,所以我们应该配置一下服务之间的依赖关系。

可参考文档:https://blog.csdn.net/jimmyleeee/article/details/118699167

systemctl命令:
systemctl start kong:启动kong服务
systemctl stop kong:停止kong服务
systemctl status kong:查看kong服务状态
systemctl enable kong:设置kong服务开机自启
systemctl disable kong:关闭kong服务开机自启

方式二:
将自定义的脚本拷贝到 /etc/rc.d/init.d 目录下,然后使用chkconfig添加服务,就可以实现开机自启。
方式一我们提到通过rpm安装软件的方式,有的会自动帮我们创建对应服务.service文件,我们就可以通过systemctl命令来管理服务;但也有的软件安装过程会自动帮我们把相关服务的启动脚本创建到 /etc/rc.d/init.d 目录下,我们就可以通过service命令来管理服务。并且可以通过 chkconfig 服务名 on 命令设置服务开机自动。

我们也可以使用方式二来配置自定义服务实现开机自启,步骤如下:
① 编写对应的shell脚本,赋予可执行权限(注意脚本文件需要两行注释,其中一行设置运行级别和脚本启动和停止优先级的要特别注意)
② 将脚本拷贝到 /etc/rc.d/init.d 目录下
③ 执行 chkconfig add 服务名 命令添加服务
④ 执行 chkconfig 服务名 on 命令设置服务开机自启动(这里也可以不用设置,步骤③就会自动设置对应运行级别的开机自启)

service命令:
service kong start:启动kong服务
service kong stop:停止kong服务
service kong status:查看kong服务状态
chkconfig命令:
chkconfig --list:列出在/etc/rc.d/init.d目录下的系统服务
chkconfig --add 服务名:添加服务
chkconfig --del 服务名:删除服务
chkconfig 服务名 on:设置服务开机自启
chkconfig 服务名 off:关闭服务开机自启

chkconfig命令可参考文档:https://blog.csdn.net/u013246459/article/details/52534741/

方式三:
将执行用户自定义脚本的命令写到 /etc/rc.d/rc.local 文件中
(这种方式适用于将用户自定义脚本设置为开机运行,通过这种方式配置的自启动脚本,会在方式一和方式二执行完自启动服务后再运行我们的自定义脚本,也就是说,通过这种方式配置的自启动脚本,会在linux的一些系统服务,比如网络network启动之后才运行我们的脚本)

配置的步骤如下:
① 用户自定义脚本需要赋予可执行权限:chmod +x kafka_enable_start.sh
② 拷贝到任意路径下:cp kafka_enable_start.sh /root
③ 使用root用户执行脚本,脚本需要是绝对路径:echo "su - root -c '/root/kafka_enable_start.sh'" >> /etc/rc.d/rc.local
④ rc.local文件需要赋予可执行权限:chmod +x /etc/rc.d/rc.local

如果我们自己的一些服务,没有被systemctl管理的,想要设置成开机自启动,就可以将对应的启动命令写成脚本,然后用这种方式进行配置。
如果我们自己的一些应用服务之间也有依赖关系,可以通过在自定义脚本中增加一些逻辑处理;例如我们的报表服务和api应用服务都需要设置成开机自启,并且api服务依赖于报表服务,那么可以在自定义的脚本里面增加逻辑判断,当报表服务成功启动再去启动api服务,或者是在执行了启动报表服务的命令之后,sleep一段时间再去执行启动api服务的命令。

可参考文档:https://www.cnblogs.com/wucongzhou/p/12588682.html

备注:rc.local的日志内容默认是 /var/log/boot.log

相关参考文档:
https://blog.51cto.com/u_14286115/3326768
https://blog.csdn.net/wang123459/article/details/79063703
https://blog.csdn.net/soonfly/article/details/72876001
https://bbs.huaweicloud.com/blogs/295010
https://blog.csdn.net/weixin_34547317/article/details/116739390
https://blog.csdn.net/qq_15079039/article/details/53291742

相关内容

热门资讯

怎么写软文 怎么写软文多看书,多看报,多看小说多看动漫,多看电视节目(相关),最重要的一点——多写!根据人的心理...
韶关北江监狱大概有多少个人 韶关北江监狱大概有多少个人 大概有七千五百人。韶关北江监狱有十五个监区,按照规定,监狱的监区可按...
红袖添香网上面的短篇小说和长篇... 红袖添香网上面的短篇小说和长篇小说的字数要求是什么呢?请说的详细一点,谢谢。还有,在红袖上发表小说好...
教育学原理的同学们吗 教育学原理的同学们吗1、现在恐怕晚了,大部分学校已经完成一次调剂筛选工作了,但也可能有机会,够了二区...
李乐衡爸爸是谁 李乐衡爸爸是谁 李乐衡爸爸是张建新。李乐衡是《武林外传》中邱小冬的扮演者,他是著名演员张建新的儿...
女主姓凤,女尊紫眸有风,火,木... 女主姓凤,女尊紫眸有风,火,木三星种异能特工傻后、女主天下、绝代凤华、倾世皇妃、歌尽桃花
盗墓笔记电视剧出藏海花了吗 盗墓笔记电视剧出藏海花了吗没有吧,只有沙海和盗墓笔记。没有 藏海花很久很久之前断更了 恐怕不会被拍成...
苏柏斗的介绍 苏柏斗的介绍 苏柏斗,生于1971年,1997年毕业于解放军艺术学院美术系;2008年毕业于中国艺术...
一切法无我。得成于忍。不取于相... 一切法无我。得成于忍。不取于相。如如不动。是什么意思?你若不动,别人也动。一切皆空,存在是一种相,色...
男人会在夜晚想念暗恋的人吗? 男人会在夜晚想念暗恋的人吗?当然会啦,如果喜欢一个人的话日思梦想都会有的,有时候睡不着吃不下饭,满脑...
推理(墓地死者) 推理(墓地死者)有个人 接到一封信 信上让他半夜12点去 墓地 结果 那个人去了墓地,第2天就死在墓...
十诫诗在仓央嘉措的哪本书里 十诫诗在仓央嘉措的哪本书里不能说是仓央嘉措的哪本书,这本来是藏文,被宇道泉译成中文后才成诗,而且所谓...
失眠是怎么回事 失眠是怎么回事我周岁12岁,刚上初一,累了一天后,为什么睡着后在床上反过来折过去的翻身还老是醒睡眠的...
慕容复要复哪个燕国 慕容复要复哪个燕国 慕容复要复东晋时我国北方出现的多个燕国其中一个。慕容氏是鲜卑姓氏,而鲜卑人是...
誓约用英语怎么说 誓约用英语怎么说誓约用英语怎么说promise1.a vow; a pledge; an oath;...
4399皮卡堂过家家收铜色藏宝... 4399皮卡堂过家家收铜色藏宝图,我拿2金色藏宝图换5个铜色藏宝图,或500收一个4399皮卡堂过家...
排骨一般炖多长时间最好,及做法 排骨一般炖多长时间最好,及做法排骨汤做法大火炖开,中小火炖40 - 50分钟为宜,时间过长,营养损...
贝克汉姆一共写过几本书,都叫什... 贝克汉姆一共写过几本书,都叫什么名字还有日期,越详细越好你们说的都不对!!小贝的第一本自传是《我的天...
黑曜石灵摆消磁的问题 黑曜石灵摆消磁的问题有个100克的晶簇,要消磁多久?还有,用矿泉水的话是那种矿泉水,市面上买的农夫山...
每当夜幕降临,八角楼上的灯光就... 每当夜幕降临,八角楼上的灯光就亮了起来。缩句答案‘每当夜幕降临,八角楼上的灯光就亮了起来。(缩句)灯...