Linux

每 X 天 04:00 的 systemd 計時器

  • March 19, 2015

我一直在閱讀

OnCalendar=

可悲的是,除了定義一周中的某一天之外,我沒有找到關於如何在某一天安排活動的資訊,這將使它每週都以最稀有的方式執行。

我需要它每隔 14 天執行一次。在指定時間(例如,凌晨 4 點)。這可能與 systemd 嗎?

我需要它每隔 14 天執行一次。在指定時間(例如,凌晨 4 點)。這可能與 systemd 嗎?

大約每 14 天獲得一次的最簡單方法是每月進行兩次。

[Install]
WantedBy=default.target

[Unit]
Description=Every fortnight.

[Timer]
OnCalendar=*-*-1,15 4:00:00
Unit=whatever.service

該語法在man systemd.timer; *-*-1,15是每年每個月的 1 號和 15 號。

如果您想從服務開始後每 14 天嘗試一次:

[Timer]
OnActiveSec=14d

但這裡有一個問題:我認為你必須讓系統一直處於執行狀態。有一個Persistent選項可以讓“服務單元上次觸發的時間……儲存在磁碟上”,但根據手冊頁“此設置僅對使用 OnCalendar 配置的計時器有影響”。

引用自:https://unix.stackexchange.com/questions/191270