linux使用systemd配置开机自动运行脚本

您所在的位置:网站首页 linux脚本启动程序和手动启动程序的区别是什么 linux使用systemd配置开机自动运行脚本

linux使用systemd配置开机自动运行脚本

2024-06-24 02:12| 来源: 网络整理| 查看: 265

编写测试脚本

首先我们编写一个简单的测试脚本example.sh用于开机时自动执行,该测试脚本将当前时间写入用户目录下的start_time.txt。 example.sh脚本具体内容如下:

#!/bin/sh date > ~/start_time.txt

注意,第一行的#!/bin/sh是必须的,否则会报错Exec format error。

接着我们给example.sh添加执行权限:

chmod +x example.sh

我们可以先执行一下脚本看是否是我们预期的结果。

编写服务脚本

然后前往 /etc/systemd/system目录,创建一个auto_start.service服务单元文件,内容如下:

[Unit] Description=auto run example after starting [Service] ExecStart=~/example.sh [Install] WantedBy=multi-user.target

其中Description简单描述了服务,WantedBy表示该服务所在的服务组。 这里的关键是在ExecStart参数中填入example.sh脚本的路径。

使服务生效

完成服务脚本编写后,需要执行以下命令重新加载所有的systemd服务,否则会找不到auto_start.service服务。

sudo systemctl daemon-reload

然后通过 systemctl 命令来控制服务启停,控制命令语法如下:

# 管理服务 [使能自启动|启动|停止|重启|查看状态] sudo systemctl [enable|start|stop|restart|status] xxx.service

现在可以执行下面命令启动auto_start.service服务。

sudo systemctl start auto_start.service

查看start_time.txt检查服务是否正确启动。

Thur April 11 11:10:29 UTC 2024

为了使每次启动后能自动执行服务,我们需要使能该服务,使用如下命令:

sudo systemctl enable auto_start.service

重启后查看start_time.txt检查服务是否正确自动启动。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3