特定の時間にsystemd.serviceを起動して停止したいです。おそらく私はこれを開始するために.timerユニットを使用しますが、組み込みメソッドがありますか?止める一定期間中または一定時間後に作業それとも、実行するには2番目の.timerユニットを作成する必要がありますかstop
?
ありがとう
ベストアンサー1
タイマーを使用してサービスAを停止するには、oneshot
そのタイプのサービスBを作成します。紛争、タイマーを使用してサービスBを起動します。
あるユニットが別のユニットに衝突=を設定した場合、前者を起動すると後者は停止し、その逆の場合も同様です。 (源泉)
サービス:
[Unit]
Conflicts=B.service
...
B.サービス:
[Unit]
Description=B service description
[Service]
Type=oneshot
ExecStart=/bin/echo ''
B.タイマー:
[Timer]
AccuracySec=1
OnActiveSec=10
[Install]
WantedBy=timers.target
次は、10秒後にサービスAを停止します。
systemctl start A.service
systemctl start B.timer