千家信息网

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

发表于:2024-10-12 作者:千家信息网编辑
千家信息网最后更新 2024年10月12日,今天就跟大家聊聊有关在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言
千家信息网最后更新 2024年10月12日在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么

今天就跟大家聊聊有关在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

1、Section-1:

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

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

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

2、Section-2:

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

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

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

3、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服务单元文件的方法是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 单元 服务 脚本 系统 运行 程序 有关 方法 操作系统 内容 应用程序 目录 部分 应用 中创 命令 软件 支持 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器管理工具哪个好 网络安全物联网上市公司 杨浦区新时代软件开发项目信息 我的世界pm服务器 无锡市智元通互联网科技有限公司 河北项目软件开发定制 数据库系统中诊断死锁的方式 网络安全核查方案 村网络安全建设年度计划 维护网络安全个人总结 文件服务器的访问 网络安全相关操作规程 艾伯科技收购互联网 数据库怎么设置监听端口号 执业医师线上审核无法连接服务器 hp380G6服务器直通模式 软件开发的宣传点 如何查看王者历史服务器 崇明区企业网络技术服务信息推荐 黄浦区新能源网络技术价格表格 古籍数据库优点 枣庄软件开发推荐 黄浦区正规软件开发解决方案 我市举行网络安全应急演习 服务器管理口ip修改 服务器装什么系统比较安全 滨州ios软件开发外包公司 发票上传设置里服务器端口填啥 二手服务器cpu讲解 学校哪个软件开发好
0