systemd タイマーはトリガーを表示せず、繰り返さない。

systemd タイマーはトリガーを表示せず、繰り返さない。

説明したようにGoAccess 1.4 詳細なチュートリアル、goa-daily.timerを作成しました。

[Unit]
Description=Daily update of GoAccess reports

[Timer]
# Every day @ 3 O'clock
OnCalendar=*-*-* 03:00:00
RandomizedDelaySec=7200
Persistent=true
Unit=goa-daily.service

[Install]
WantedBy=timers.target

オプションをどのように定義しても、タイマーのOnCalendar状態を確認すると、常に1つあり、Trigger: n/a他のすべてのタイマーにトリガーがあります。

root@scw:/etc/systemd/system/timers.target.wants# ll
total 0
lrwxrwxrwx 1 root root 35 sep 28  2020 apt-daily.timer -> /lib/systemd/system/apt-daily.timer
lrwxrwxrwx 1 root root 43 sep 28  2020 apt-daily-upgrade.timer -> /lib/systemd/system/apt-daily-upgrade.timer
lrwxrwxrwx 1 root root 33 nov 30  2020 certbot.timer -> /lib/systemd/system/certbot.timer
lrwxrwxrwx 1 root root 35 fév 23 23:01 goa-daily.timer -> /etc/systemd/system/goa-daily.timer
lrwxrwxrwx 1 root root 35 sep 28  2020 logrotate.timer -> /lib/systemd/system/logrotate.timer
lrwxrwxrwx 1 root root 32 sep 28  2020 man-db.timer -> /lib/systemd/system/man-db.timer

root@scw:/etc/systemd/system/timers.target.wants# systemctl status goa-daily.timer 
● goa-daily.timer - Daily update of GoAccess reports
   Loaded: loaded (/etc/systemd/system/goa-daily.timer; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-01-31 15:43:42 UTC; 3 weeks 2 days ago
  Trigger: n/a

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
root@scw:/etc/systemd/system/timers.target.wants# systemctl status logrotate.timer 
● logrotate.timer - Daily rotation of log files
   Loaded: loaded (/lib/systemd/system/logrotate.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Tue 2022-01-04 08:00:34 UTC; 1 months 20 days ago
  Trigger: Thu 2022-02-24 00:00:00 UTC; 49min left
     Docs: man:logrotate(8)
           man:logrotate.conf(5)

タイマーにトリガーが表示されないのはなぜですか?有効にしました。systemctl enable --now goa-daily.timer トリガーを使用してタイマーを実行するにはどうすればよいですか?私はDebian 10(buster)を使用しています。

goa-daily.service ステータス

# systemctl status goa-daily.service
● goa-daily.service - Application
   Loaded: loaded (/etc/systemd/system/goa-daily.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2022-01-31 16:08:54 UTC; 3 weeks 2 days ago
 Main PID: 17337 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2347)
   Memory: 0B
   CGroup: /system.slice/goa-daily.service

ありがとう@ファジー図面コメント、これはdaemon-reloadタイマーの変更に影響を与えないことがわかりました。stopタイマーにstartトリガーが追加されました!

# systemctl stop goa-daily.timer 
# systemctl start goa-daily.timer 
# systemctl status goa-daily.timer 
● goa-daily.timer - Daily update of GoAccess reports
   Loaded: loaded (/etc/systemd/system/goa-daily.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Thu 2022-02-24 08:51:34 UTC; 4s ago
  Trigger: Thu 2022-02-24 08:54:00 UTC; 2min 21s left

ただし、タイマーを実行した後、ステータスには1つまたは1つのトリガーが表示されます。、少なくともOnCalendar日付/時刻定義が必要ですOnCalendar=*-*-* 08:54:00

# systemctl status goa-daily.timer 
● goa-daily.timer - Daily update of GoAccess reports
   Loaded: loaded (/etc/systemd/system/goa-daily.timer; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-02-24 08:51:34 UTC; 2min 30s ago
  Trigger: n/a

私が何を逃していて毎日繰り返されるのでしょうか? ? ?毎日オプションでテストし、明日もう一度確認してみましょう...

ベストアンサー1

サービス表示では、ステータスはアクティブです。あなたのタイマーが実行されているサービスデバイスを起動しないようです。システムに未知の何らかの理由でサービスユニットが失敗した場合、またはサービスユニットがシャットダウンしてもアクティブな状態を維持するようにコーディングされている可能性があります。

おすすめ記事