我正在尝试创建一个服务,该服务将在每次树莓派启动时触发。目前,该服务运行一个非常简单的脚本,向我控制的web服务端点发送POST请求。我可以手动触发所说的脚本,这部分都很完美。
我正在努力下一步,那就是在pi完成引导后让脚本运行。我还需要能够让它在没有用户登录的情况下运行
CURL脚本(Algers startup.local(
#! /bin/bash
echo "Attempting CURL Request"
curl --data "param1=value1¶m2=value2" http://10.68.159.28:3000/device
系统服务
[Unit]
Description=Algiers RaspberryPi Startup
After=network.target
Before=getty@tty1.service
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/algiers-startup.local
TimeoutSec=30
StandardOutput=tty
RemainAfterExit=no
[Install]
WantedBy=multi-user.target
我在控制台中没有看到任何错误或输出,也没有任何迹象表明发生了任何事情。
我假设您的机器已经安装了Systemd。它主要通过systemctl
命令进行控制。我给它起了个别名,因为一直打字很糟糕:
alias sc=systemctl
alias ssc='sudo systemctl'
你只需要"启用"你的服务就可以在启动时运行:
sc enable algiers-startup
我不确定你使用的是什么发行版,但在Arch和CentOS上,你会希望algiers-startup
能在/usr/lib/systemd/system/
中运行。
您可以使用sc start algiers-start
测试您的服务。journalctl
可以向您展示正在发生的事情。