システムタイマーは実行されません。

システムタイマーは実行されません。

文字通り、次のタイマーがあります。

foob​​ar.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!"

foob​​ar.タイマー:

[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

関連情報