linux实现开机自启动服务/脚本

这篇具有很好参考价值的文章主要介绍了linux实现开机自启动服务/脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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文章来源地址https://www.toymoban.com/news/detail-464771.html

到了这里,关于linux实现开机自启动服务/脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux开机rc.local不自启动执行脚本问题的排查思路及问题解决

    问题 Linux系统中,在rc.local里面配置的启动命令等不能能够在开机的时候进行自启动 问题解决 解决问题排查中最大的麻烦,需要进行reboot重启 查看rc-local的运行状态 systemctl status rc-local 如果是loaded或者是faild类似,说明启动确实出现了问题 首先查看检查是否还有rc.local的软连

    2024年02月16日
    浏览(41)
  • Linux查看开机启动的服务

    在Linux系统中,可以使用不同的命令和工具来查看开机启动的服务。以下是一些常用的方法: systemctl 命令: 使用 systemctl 命令可以查看系统中所有正在运行的服务以及它们的状态。 若要查看某个特定服务的状态,可以使用: 若要查看某个服务是否在开机时启动,可以使用:

    2024年02月04日
    浏览(38)
  • Linux如何查看服务启动状态是否开机自动启动

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Linux如何查看服务启动状态是否开机自动启动 - joshua317的博客 linux中查看服务启动状态是否开机自动启动的方法: 1、打开linux终端; 2、在终端命令行中输入“chkconfig --list servicename”命令查看服务启动状态是否开机自动

    2023年04月09日
    浏览(55)
  • Amazon Linux上使用ec2-user来设置开机自启动的shell脚本

    要在Amazon Linux上使用ec2-user来设置开机自启动的shell脚本,可以按照以下步骤操作:   1. 确保您拥有要设置自启动的shell脚本。假设脚本的路径是`/home/ec2-user/myscript.sh`。   2. 使用以下命令打开`/etc/rc.d/rc.local`文件:    ```shell    sudo nano /etc/rc.d/rc.local    ```   3. 在文件末尾添

    2024年02月15日
    浏览(59)
  • Ubuntu Server 20.04 系统安装(六):Linux搭建frp服务,实现内网穿透服务,实现外网到内网的在线访问 Ubuntu 设置frp开机自启动

    frp 是什么? frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    2024年02月13日
    浏览(48)
  • Linux elasticsearch设置为开机自启动服务

    说明: (1)“su es”为切换用户名,“es”为系统新建的用户名 (2)“/usr/local/elasticsearch-6.2.3”为el安装目录 具体el安装流程:请点击这里

    2024年02月13日
    浏览(31)
  • ubuntu20.04通过gnome-session-properties实现开机自启动shell脚本

    准备好需要开机自启动的脚本,如果暂时没有,可以按照下面的步骤新建一个test脚本。 同时按住Ctrl+Alt+T,系统会新建一个终端,在终端中输入 回车后,在打开的文本编辑器中输入 点击保存后关掉文本编辑器,会回到终端页面上,此时调用该脚本,结果如下: 图片: 在打开的

    2024年02月14日
    浏览(53)
  • linux环境中设置docker服务开机自启动

    欢迎各位指出,大家共同交流和学习。 如有帮助,请点赞加支持! 送人玫瑰手有余香!🌹🌹🌹 linux系统,每次重启之后,docker服务都是关闭的,如下所示: 因此,每次都需要用如下命令手动开启服务: 但是,每次重启系统都要手动开启命令,比较麻烦,因此,将其服务设

    2023年04月22日
    浏览(40)
  • linux 配置服务开机自启动之chkconfig(Linux 运行级别)

    1. 三种解决方案 方式一:在/etc/rc.d/rc.local文件中直接添加启动命令 想启动的脚本或服务,把他们启动的命令放入/etc/rc.local这个文件中即可。适用于简单的启动脚本或服务。但请确保在添加之前检查该文件是否存在,并赋予执行权限。 方式二:通过chkconfig配置服务自启动 你

    2024年02月05日
    浏览(32)
  • MinIO服务部署,并实现开机自启动(优质文章)

    MinIO是一个高性能、高可用性、分布式对象存储服务。本文将介绍如何在Linux系统上部署MinIO服务,并实现系统开机自启动。 在开始部署之前,我们需要准备以下环境: 一台Linux服务器 root权限的用户 wget、tar等基本工具 MinIO二进制包 本文假设你已经准备好了上述环境。 首先,

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包