文字通り、次のタイマーがあります。
foobar.service:
[Unit]
Description=Timer Test
Requires=rsyslog.service # rsyslog is an active local service.
[Service]
Type=simple
ExecStart=/usr/bin/logger "Running foobar timer test!"
foobar.タイマー:
[Unit]
Description=Test Timer
[Timer]
OnCalendar=10:00 # See below about the time.
Unit=foobar.service
RemainAfterElapse=no
[Install]
WantedBy=timers.target
今後10分後に設置してsystemctl enable foobar.timer
テストしてみました( )。OnCalendar
ただし、実行されず、次のようになります。
> systemctl status foobar.timer
● foobar.timer - Local Daily Tasks Timer
Loaded: loaded (/etc/systemd/system/what.timer; enabled; vendor preset: enabled)
Active: inactive (dead)
Trigger: n/a
ロードされてアクティブになったと主張しますが、非アクティブ(死)です。このパターンに従う別のタイマーを書いたが、それはすべてうまくいくので、これは特に混乱しています... o_O?
システムの再起動を除くすべての操作を実行しました(これはアクティブサーバーなのであまり好きではありません)。
答え1
システムの再起動を除くすべての操作を完了しました。
動作します。それ以外の場合は、次のことを行う必要があります。
- タイマーを明示的に開始するには:
systemctl start foobar.timer
- またはタイマーターゲットを再起動してください。
systemctl restart timers.target
systemctl status
これでfoobar.timer
「アクティブ(待機中)」と表示されます。
don_crisstiのコメントによると、タイマーの起動--now
も機能します。
systemctl enable --now foobar.timer