ここに公開されているソリューションを試した後(起動時にシステムタイマーが実行されないようにする)、システムタイマーの問題が解決されたと思いました。ただし、最後の再起動後に起動中にサービスが開始されました(欠落しているイベントを補足したようです)。
問題のファイルは次のとおりです。
btrfs_backup.timer
[Unit]
Description=Create mirror of current state of all BTRFS snapshots
Requires=btrfs_backup.service
[Timer]
# hourly, with a 5-minute delay, as to not interfere with the
# snapper-timeline.service.
Unit=btrfs_backup.service
OnCalendar=*-*-* *:05:00
Persistent=false
[Install]
WantedBy=timers.target
btrfs_backup.service
[Unit]
Description=Create mirror of current state of all BTRFS snapshots
Wants=btrfs_backup.timer
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/btrfs_backup
Environment="DISPLAY=:0.0"
Environment="XDG_RUNTIME_DIR=/run/user/0"
デフォルトでは、snapperのタイムラインシステムファイルからこの(2)ファイルをコピーしたため、この設定が機能しない理由を理解できません。タイマーから[インストール]部分を取り除こうという提案も見たが、すべてマイシステム(スナッパシステムを含む)のタイマーには[インストール]セクションがあります。
他のすべてはうまく動作します。サービスが正しく完了し、デスクトップに通知が表示されます。
アップデート#1:問題のイベントに関連する過去数時間の履歴:
Mar 01 14:05:09 dss-mint systemd[1]: Starting Create mirror of current state of all BTRFS snapshots...
Mar 01 14:05:09 dss-mint systemd[1]: btrfs_backup.service: Succeeded.
Mar 01 14:05:09 dss-mint systemd[1]: Finished Create mirror of current state of all BTRFS snapshots.
Mar 01 15:05:09 dss-mint systemd[1]: Starting Create mirror of current state of all BTRFS snapshots...
Mar 01 15:05:09 dss-mint systemd[1]: btrfs_backup.service: Succeeded.
Mar 01 15:05:09 dss-mint systemd[1]: Finished Create mirror of current state of all BTRFS snapshots.
Mar 01 16:05:09 dss-mint systemd[1]: Starting Create mirror of current state of all BTRFS snapshots...
Mar 01 16:05:09 dss-mint systemd[1]: btrfs_backup.service: Succeeded.
Mar 01 16:05:09 dss-mint systemd[1]: Finished Create mirror of current state of all BTRFS snapshots.
-- Reboot --
Mar 01 17:24:01 dss-mint systemd[1]: Starting Create mirror of current state of all BTRFS snapshots...
Mar 01 17:24:01 dss-mint systemd[1]: btrfs_backup.service: Succeeded.
Mar 01 17:24:01 dss-mint systemd[1]: Finished Create mirror of current state of all BTRFS snapshots.
Mar 01 18:05:19 dss-mint systemd[1]: Starting Create mirror of current state of all BTRFS snapshots...
Mar 01 18:05:19 dss-mint systemd[1]: btrfs_backup.service: Succeeded.
Mar 01 18:05:19 dss-mint systemd[1]: Finished Create mirror of current state of all BTRFS snapshots.
アップデート#2:良いです。今朝はコンピュータの電源を入れました。起動が完了した直後にサービスが実行されていましたが、タイマーは実行されませんでした。
$ ls-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2021-03-02 08:43:16 PST 12min left n/a n/a systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Tue 2021-03-02 09:00:00 PST 29min left n/a n/a snapper-timeline.timer snapper-timeline.service
Tue 2021-03-02 09:01:57 PST 31min left n/a n/a btrfs_backup.timer btrfs_backup.service
Tue 2021-03-02 11:17:38 PST 2h 46min left Mon 2021-03-01 19:30:22 PST 13h ago fwupd-refresh.timer fwupd-refresh.service
Tue 2021-03-02 16:53:23 PST 8h left Mon 2021-03-01 12:52:17 PST 19h ago motd-news.timer motd-news.service
Wed 2021-03-03 00:00:00 PST 15h left Tue 2021-03-02 08:28:52 PST 1min 53s ago logrotate.timer logrotate.service
Wed 2021-03-03 00:00:00 PST 15h left Tue 2021-03-02 08:28:52 PST 1min 53s ago man-db.timer man-db.service
Sun 2021-03-07 03:10:21 PST 4 days left Sun 2021-02-28 08:27:47 PST 2 days ago e2scrub_all.timer e2scrub_all.service
Mon 2021-03-08 00:00:00 PST 5 days left Mon 2021-03-01 08:33:26 PST 23h ago fstrim.timer fstrim.service
n/a n/a Tue 2021-03-02 08:30:06 PST 39s ago anacron.timer anacron.service
n/a n/a Tue 2021-03-02 08:28:52 PST 1min 53s ago snapper-boot.timer snapper-boot.service
理解できません。サービスを有効にしたことがないため、タイマーによってのみトリガーされます。
$ systemctl status btrfs_backup.service
● btrfs_backup.service - Create mirror of current state of all BTRFS snapshots
Loaded: loaded (/etc/systemd/system/btrfs_backup.service; static; vendor preset: enabled)
Active: inactive (dead) since Tue 2021-03-02 08:35:24 PST; 1min 8s ago
TriggeredBy: ● btrfs_backup.timer
Process: 1206 ExecStart=/usr/local/sbin/btrfs_backup (code=exited, status=0/SUCCESS)
Main PID: 1206 (code=exited, status=0/SUCCESS)
ベストアンサー1
Requires=btrfs_backup.service
タイマーをオフにしてみてください。
これsystemd.unit(5) のマニュアルページRequires=
要件も有効になると言います。したがって、アクティベーションタイマーは要求をアクティベートしますbtrfs_backup.service
。