systemd
が実行されているが実行されていない埋め込みターゲット環境 (ホスト ビルド環境とは別)がありcron
ます。
また、ほとんどのシステムでは、cron
5 分ごとに実行するエントリを作成するだけのスクリプトもあります。
これで、サービスを作成する方法がわかりましたsystemd
が、このスクリプトは、作業が完了した後に終了するワンショットです。私がやりたいのは、起動時にすぐに実行し(syslog.target
もちろん、その後)、その後5分ごとに実行することです。
タイマーを調べた後systemd
、次のサービス ファイルを作成しました/lib/systemd/system/xyzzy.service
。
[Unit]
Description=XYZZY
After=syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/xyzzy.dash
と同等/lib/systemd/system/xyzzy.timer
:
[Unit]
Description=XYZZY scheduler
[Timer]
OnBootSec=0min
OnUnitActiveSec=5min
[Install]
WantedBy=multi-user.target
残念ながら、ターゲットの起動時に、 の出力にタイマーがsystemctl list-timers --all
含まれていないため、タイマーが開始していないように見えます。タイマー ユニットを手動で開始しても問題ないように見えますが、これはユーザーの介入によって自動的に実行されるべきものです。
WantedBy
タイマーユニットがインストールされて実行されていることを確認し、定期的にサービスを開始すると思っていました。multi-user.target.wants
ただし、ディレクトリには実際にはタイマーのシンボリック リンクがないことに気付きました。
これはどのように行われsystemd
ますか?