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

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

jxcq3周前 (11-15)未分类12

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

网站成功搬迁

网站成功搬迁...

omv5-omv6-换源-扩展插件-docker

ovm5换源:https://blog.csdn.net/weixin_39916479/article/details/119500845#安装omv-extras-pluginswget -O - https://github.com/OpenMediaVault-Plugin-Develope...

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

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

ESXI挂载移动硬盘

ESXI挂载移动硬盘

开启ESXI的ssh服务不要接移动硬盘从终端ssh进ESXIssh root@192.168.50.5停止usbarbitrator服务/etc/init.d/usbarbitrator stop chkconfig usbarbitrator off插入移...

debian12 安装raid0,GPT硬盘重启后自动消失问题解决

安装服务:apt install -y mdadm分区软件:apt install gdiskGPT硬盘一定要分区sdb1 sdc1 否则硬盘重启后raid自动消失MBR硬盘不用分区sdb  sdcfdisk -l安装raid0:GPT方式:mdadm -Cv /dev/md0 -a ye...

RouteOs安装容器+端口转发与回流

RouteOs安装容器查看当前Device-Mode/system/device-mode/ print当在enterprise模式下,启用container模式/system/device-mode/update container=yes重启设备(这步要非常注意)创建网络为容器添加veth接口:...

发表评论

访客

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