systemd-runを使用して生成されたシステム一時タイマーは、リストされている単位には表示されません。

systemd-runを使用して生成されたシステム一時タイマーは、リストされている単位には表示されません。

しばらく前に、次のコマンドを使用してシステムタイマーを作成しました。

systemd-run --on-calendar='*-*-01 12:00:00' --description='Update root hints for unbound' --property='After=network.target' --timer-property='Persistent=true' /usr/bin/curl -o /etc/unbound/root.hints https://www.internic.net/domain/named.cache

このタイマーが作成された後は、ランダムな名前が割り当てられますrun-u1021

今日はタイマーの状態を確認したいので、次のコマンドを実行しました。

systemctl list-timers --all

そこには出ていません。

確認してみると、/var/lib/systemd/timers/その名前のタグファイルが含まれていることがわかりましたstamp-run-u1021.timer

ファイルを実行すると、statそのファイルが最後に変更されたことがわかります。2020-05-09これはファイルの統計にも当てはまります/etc/unbound/root.hints

➜ stat /var/lib/systemd/timers/stamp-run-u1021.timer
  File: /var/lib/systemd/timers/stamp-run-u1021.timer
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 9438418     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-05-09 23:40:46.628653123 -0600
Modify: 2020-05-09 23:40:46.628653123 -0600
Change: 2020-05-09 23:40:46.628653123 -0600
 Birth: 2020-05-09 23:40:46.628653123 -0600

したがって、このタイマーは少なくとも一度は実行されました。しかし、私の質問はタイマーがどこにありますか?なぜsystemdに表示されないのですか?これがどのように作成されたかと関係がありますか?


次のタイマーの実行:

➜ systemd-analyze calendar '*-*-01 12:00:00'               
Normalized form: *-*-01 12:00:00            
    Next elapse: Mon 2020-06-01 12:00:00 CST
       (in UTC): Mon 2020-06-01 18:00:00 UTC
       From now: 1 day 22h left

これで、2日以内にディスプレイタイマーがアクティブになります。実際にアクティブになるのを待ってみましょう。その間、一時的なタイマーとそのサービスが生成された場所に誰かが答えてくれれば役に立ちます。

私もこの質問を見ました。"systemd-run --on-calendar"を使用して生成されたタイマーを削除する しかし、systemdは実際にタイマーを表示しますが、タイマーを削除するのに問題があるという点で問題は異なります。私の場合、タイマーはsystemdに表示されていませんが、まだそこにあるようです。

関連情報