Триггер CURL-запрос после загрузки с использованием systemd
Я пытаюсь создать сервис, который будет запускаться каждый раз при загрузке Raspberry Pi. В настоящее время служба выполняет действительно простой сценарий, который отправляет запрос POST конечной точке веб-службы, которой я управляю. Я могу запустить указанный скрипт вручную, и эта часть все работает отлично.
Я борюсь со следующим шагом, который должен запустить этот скрипт после того, как пи завершил загрузку. Я также должен иметь возможность запустить его без входа пользователя.
CURL Script (algiers-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
Я не вижу ошибок или выводов в консоли, ни намека на то, что что-то вообще произошло.
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
могу показать вам, что происходит