广告
返回顶部
首页 > 资讯 > 操作系统 >在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么
  • 691
分享到

在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么

2023-06-26 10:06:54 691人浏览 薄情痞子
摘要

今天就跟大家聊聊有关在linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言systemd是Linux操作系统的系统

今天就跟大家聊聊有关在linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

前言

systemd是Linux操作系统的系统和服务管理器。当您从存储库安装任何应用程序时,它会将服务单元文件放入systemd目录中,您不应直接修改这些文件。

systemd单元文件将在以下三个目录中找到:

/usr/lib/systemd/system/:安装软件包时删除的systemd单元文件。

/run/systemd/system/:在运行时创建的systemd单元文件。

/etc/systemd/system/:由“systemctl enable”命令创建的systemd单元文件以及为扩展服务而添加的单元文件。

有时您可能需要为自定义应用程序或守护程序或脚本创建服务单元文件。有很多参数可以添加,但我们只会添加几个值以使单元文件更简单以便更好地理解。

例如:要在systemd系统启动时运行自定义脚本,您需要创建一个自定义服务单元文件。

创建自定义脚本

以下shell脚本将在文件中写入欢迎消息,如下所示:

$ sudo vi /usr/sbin/welcome.sh

#!/bin/bash

echo 'Welcome to Linux WORLD..!!!' >> /tmp/welcome.txt

参考:在Linux系统中运行.sh文件的两种方法。

创建systemd单元文件

您需要在“/etc/systemd/system/”目录下创建自定义服务单元文件,因为这是为自定义脚本保留的。‘/etc/systemd/system’中的任何单元文件都会覆盖‘/lib/systemd/system’中的相应文件。

语法:systemd单元文件由三部分组成:

Section-1 [Unit]Parameter 1..Parameter NSection-2 [Service]Parameter 1..Parameter NSection-3 [Install]Parameter 1

为了演示这一点,我们将创建一个名为“custom.service”的systemd服务单元文件:

$ sudo vi /etc/systemd/system/custom.service

[Unit]

Description=example systemd custom service unit file

After=network.target

[Service]

Type=notify

ExecStart=/bin/bash /usr/sbin/welcome.sh

[Install]

WantedBy=multi-user.target

Section-1:

Unit:本节提供有关服务的基本信息。

Description:服务单位的简短描述。当您执行“systemctl status UNIT.service”命令时,描述会出现在服务单元名称旁边。

After:定义单元启动的顺序。“custom.service”单元只有在“network.target”单元启动后才会启动。

Section-2:

Service:“Service”部分提供有关如何控制服务的说明。

Type:定义systemd服务的类型。它与“Type=simple”相同,但同时守护进程希望在准备就绪时向systemd发送信号。

ExecStart:它用于启动服务,其中包括实际服务可执行文件的完整路径。

Section-3:

Install:“Install”部分提供了有关如何安装systemd服务的说明。

WantedBy:“WantedBy”设置指示应该在哪个目标下启动给定的服务单元。在这个例子中,custom.service使用了multi-user.target,所以systemd在启动时加载multi-user.target时会启动custom.service。

将可执行权限设置为“custom.service”:

$ sudo chmod a+x /etc/systemd/system/custom.service

要向systemd添加新服务,请运行:

$ sudo systemctl daemon-reload

要启动custom.service,请运行:

$ sudo systemctl start custom.service

要在启动时启用custom.service,请运行:

$ sudo systemctl enable custom.service

最后重新启动系统以检查custom.service是否通过验证输出文件在启动时按预期运行脚本:

$ sudo reboot

是的,它运作良好:

$ cat /tmp/welcome.txt

Welcome to Linux WORLD..!!!

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

看完上述内容,你们对在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网操作系统频道,感谢大家的支持。

--结束END--

本文标题: 在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么

本文链接: https://www.lsjlt.com/news/308798.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么
    今天就跟大家聊聊有关在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言systemd是Linux操作系统的系统...
    99+
    2023-06-26
  • Mysql中自定义函数的创建和执行方法是什么
    本文小编为大家详细介绍“Mysql中自定义函数的创建和执行方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql中自定义函数的创建和执行方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2023-03-13
    mysql
  • RAC中误将数据文件创建在本地盘时的修正方法是什么
    本篇内容介绍了“RAC中误将数据文件创建在本地盘时的修正方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作