1

我正在尝试创建一个每次树莓派启动时都会触发的服务。目前,该服务运行一个非常简单的脚本,该脚本将 POST 请求发送到我控制的 Web 服务端点。我可以手动触发所述脚本,并且该部分一切正常。

我正在努力下一步,即在 pi 完成启动后让该脚本运行。我还需要能够让它在没有用户登录的情况下运行。

CURL 脚本 (algiers-startup.local)

#! /bin/bash

echo "Attempting CURL Request"
curl --data "param1=value1&param2=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

我在控制台中没有看到任何错误或输出,也没有任何迹象表明发生了任何事情。

4

1 回答 1

1

我假设您的机器已经设置了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可以告诉你发生了什么。

于 2015-07-16T15:32:48.970 回答