当前位置:首页 > 未分类 > 正文内容

在 Debian-Armbian 系统上,要让一个脚本(如 xxx.sh)在系统启动时自动运行,最现代和推荐的方法是使用 systemd 服务。

jxcq7个月前 (11-15)未分类93

使用 Systemd 自动启动脚本



步骤 1: 确保脚本可执行并放置在合适的位置


首先,确保您的脚本 xxx.sh 具有正确的执行权限,并将其放在一个标准位置,例如 /usr/local/bin/

Bash
# 假设您的脚本内容已经准备好
# 复制脚本到标准位置
sudo cp /path/to/your/xxx.sh /usr/local/bin/
# 赋予执行权限
sudo chmod +x /usr/local/bin/xxx.sh


步骤 2: 创建 Systemd Service 文件


您需要创建一个 .service 文件来定义如何运行您的脚本。

创建文件 /etc/systemd/system/xxx.service

Bash
sudo nano /etc/systemd/system/xxx.service

将以下内容粘贴到文件中:

Ini, TOML
[Unit]
# 描述您的服务
Description=My Custom xxx Startup Script
# 指定在哪个服务之后启动 (例如,确保网络已配置)
After=network-online.target

[Service]
# 设置运行服务的用户 (例如 root)
User=root
# 设置脚本的工作目录 (可选)
WorkingDirectory=/usr/local/bin/
# 定义要执行的命令
# 确保使用绝对路径,即使定义了 WorkingDirectory
ExecStart=/usr/local/bin/xxx.sh

# 重启策略: 如果脚本以非零退出代码退出,则自动重启
# Restart=on-failure
# 重启之间的延迟
# RestartSec=5s

[Install]
# 指定服务应在系统启动时启动
WantedBy=multi-user.target


步骤 3: 启用和启动服务


创建服务文件后,您需要通知 systemd 有一个新的服务,并将其设置为开机自启。

Bash
# 1. 重新加载 systemd 配置,识别新的服务文件
sudo systemctl daemon-reload

# 2. 启用服务:设置服务在系统启动时自动运行
sudo systemctl enable xxx.service

# 3. 立即启动服务,进行测试
sudo systemctl start xxx.service


步骤 4: 验证服务状态


检查服务是否成功运行:

Bash
sudo systemctl status xxx.service

如果服务状态显示为 active (running),则表示设置成功。如果出现错误,请检查日志:

Bash
sudo journalctl -u xxx.service


扫描二维码推送至手机访问。

版权声明:本文由小强的小站发布,如需转载请注明出处。

本文链接:https://zblog.dragon2024.cloudns.ch/?id=74

分享给朋友:

“在 Debian-Armbian 系统上,要让一个脚本(如 xxx.sh)在系统启动时自动运行,最现代和推荐的方法是使用 systemd 服务。” 的相关文章

OpenWrt中使用wireguard教程|一个端口访问局域网内所有设备(如群晖NAS,路由器)

OpenWrt安装WireGuard命令(eSir精品小包已集成WireGuard,无需安装) opkg update opkg install luci-proto-wireguard luci-app-wireguard wireguard kmod-wireguard wireguard-...

网站成功搬迁

网站成功搬迁...

TC1-A2-mqtt-配置

https://github.com/yakinchang/phicomm_tc1_a2 固件配置获取插排分配到的 IP(根据自己的网络环境自行解决),IP 以 10.10.9.134 为例访问插排的 http 接口,获取插排状态,用户名密码都是 admin支持的接口列表:修改和查询wifi:htt...

docker安装网心云

https://hub.docker.com/r/onething1/wxedgedocker run -d --name=wxedge --restart=always --privileged --net=host  --tmpfs /run --tmpfs /tmp -v /root...

debian12安装网心云(安装docker-arm架构通用)

安装dockerapt-get install     ca-certificates     curl     gnupginstall -m 0755 -d /etc/apt/keyringscurl -f...

debian-网卡名称的变迁(ethX -> enpXsY)

早几年前,Linux 系统的网卡名称都是 eth0、wlan0,后来都变了个风格,就拿我的电脑举例:enp7s0, wlp6s0。这到底是是什么原因呢?最近突然好奇,去查了资料才知道为什么。在 Fedora 的技术资料中找到,这个和 Systemd 有关,然后又在 freedesktop 官网 Sy...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。