タイマーデバイスで実行される単純なシステムサービスを取得しようとしています。何らかの理由で、systemdは私が時間を指定する方法が好きではないようです。minutely
orをdaily
値として使用するとスクリプトは機能しますOnCalendar
が、5分に設定しようとするとsystemdでエラーが発生します。
/etc/systemd/system/backup.timer:7: Failed to parse calendar specification, ignoring: 5m
backup.timer: Timer unit lacks value setting. Refusing.
によると、問題はこのページ、minutes
理解可能な時間単位でなければなりません。そこで動作する必要があるサンプル期間があるため、なぜ動作しないのか、なぜか動作しないのは2hours
理解できません。5m
5minutes
これは私のタイマーファイルです。
[Unit]
Description=Timer unit for backup.service
Requires=backup.service
[Timer]
Unit=backup.service
OnCalendar=5m
[Install]
WantedBy=timers.target
もう一つのことは、これを実行するとエラーを返さずにsystemd-analyze timespan 5minutes
値を正しく解析できるようです。
Original: 5minutes
μs: 300000000
Human: 5min
答え1
5m
時間だ-期間。 OnCalendar=
予想時間 -切手。
~によるとシステム時間(7)のタイムスタンプは一意の時点で、期間は期間です。
これを維持するには、OnCalendar=
次のようにタイムスタンプを使用してください。
minutely
、、、hourly
daily
2012-11-23 11:12:13
Mon,Fri *-01/2-01,03 *:30:45
持続時間を本当に使用したい場合は、持続時間がかかり、OnActiveSec=
デバイスOnBootSec=
のアクティブ化またはシステム起動時間に追加してください。バラよりsystemd.timer(5)OnUnitActiveSec=
(最後にタイマーが実行された時間)などの追加オプション
カレンダーイベント式を使用して、リアルタイム(たとえばウォールクロック)タイマーを定義します。
カレンダーイベント式は「ユニークな時点」です。