Debian 定時器(systemd timers)支持多種調度策略,這些策略決定了定時器何時觸發其關聯的服務。以下是一些主要的調度策略:
OnCalendar
OnCalendar=*-*-* *:00:00
每天午夜觸發。OnBootSec
OnBootSec=30s
系統啟動后30秒觸發。OnStartupSec
OnStartupSec=10s
服務啟動后10秒觸發。OnUnitActiveSec
OnUnitActiveSec=5min
服務變為活動狀態后5分鐘觸發。OnUnitInactiveSec
OnUnitInactiveSec=1h
服務變為非活動狀態后1小時觸發。RandomizedDelaySec
RandomizedDelaySec=30s
在30秒內隨機選擇延遲時間。Persistent
Persistent=true
確保即使在關機狀態下也能觸發。AccuracySec
AccuracySec=1s
定時器的觸發時間最多偏離1秒。UnitStartSec
UnitStartSec=2s
服務啟動前等待2秒。UnitStopSec
UnitStopSec=5s
服務停止前等待5秒。WatchdogSec
WatchdogSec=30s
如果服務在30秒內沒有響應,則認為失敗。你可以組合使用上述策略來實現更復雜的調度邏輯。例如:
[Timer]
OnCalendar=*-*-* *:00:00
RandomizedDelaySec=30s
Persistent=true
這個定時器每天午夜觸發,并且在觸發前有最多30秒的隨機延遲,同時確保即使在關機狀態下也能觸發。
通過合理使用這些調度策略,你可以靈活地控制Debian系統中定時器的觸發行為。