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

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

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

使用 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 服务。” 的相关文章

宝塔面板7.6企业版Linux安装代码

宝塔面板7.6企业版Linux安装代码

wget -O install.sh http://v7.hostcli.com/install/install-ubuntu_6.0.sh && sudo bash install.sh...

群晖DOCKER安装Homeassistant

1、打开DOCKER注册表搜索Homeassistant2、选择官方版。3、双击Homeassistant下载。(用homeassistant/home-assistant:2021.5.2-支持自定义插件)homeassistant/home-assistant:2022.8.2-支持(1.x-m...

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

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

MBR-GPT模式grub2启动添加windows分区启动

MBRnano /boot/grub/grub.cfg### BEGIN /etc/grub.d/30_os_prober ###  #(自己更改系统名称)menuentry 'Windows 8.1'  {    &nbs...

debian安装docker通用方法

脚本安装wget -qO- get.docker.com | bash首先就是老方法卸载旧版本dockersudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get update安装软件包以允许使用 基...

Fast Os Docker 使用指南

启动命令docker run --name fastos --restart always -p 8081:8081 -p 8082:8082 -d \ -v /var/run/...

发表评论

访客

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