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

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

jxcq3个月前 (11-15)未分类30

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

网站成功搬迁

网站成功搬迁...

debian安装docker通用方法

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

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

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

转换vmware的vmdk格式为qcow2格式

精简版Download binariesqemu-img 2.3.0 for Windows x64完整版下载https://www.qemu.org/download/合并vmdk文件C:\Program Files (x86)\VMware\VMware Workstation>vmwar...

debian12下解决EXT4-fs error (/dev/nvme0n1p1):comm ext4lazyinit:bg 16:bad block bitmap checksum

安装smartctl软件sudo apt-get install smartmontools    # Debian/Ubuntusudo yum install smartmontools        # RedHat/CentOSsu...

debian12查看硬盘分区UUID

df  -lfdisk -lls -l /dev/disk/by-uuid开机挂载硬盘:nano /etc/fstabUUID=xxxxxxxx-b23a-974c-96b5-da80140d5d38      /root/docker/hdd/wxy&nbs...

发表评论

访客

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