Linux(入門基礎):110---systemd相對於timer的配置文件

一、概念

  • 除了crond之外,我們還可以使用systemd這個好用的服務來設置系統任務
  • systemd可以使用timers.target來協助定期處理各種任務

二、systemd.timer的優勢

  • ①所有的systemd服務所產生的信息都會被記錄(log),因此比crond在debug上面要更清楚方便
  • ②各項timer的任務可以跟systemd的服務相結合
  • ③各項timer的任務可以跟control group(cgroup,用來替換/etc/secure/limit.conf的功能)結合,來限制任務的資源利用
  • ④systemd的服務檢測時間可以精確到秒甚至毫秒

三、缺點

  • 默認沒有email功能(不過可以自己寫一個)
  • 沒有類似於anacron的一段時間內的隨機取樣功能

四、設置的要求

  • ①操作系統的timer.target一定要啓動
  • ②要有個sname.service的服務存在(sname是你自己指定的名稱)
  • ③要有個sname.timer的時間啓動服務存在

五、[Timer]處的設置值

OnActiveSec 當 timers.target 啓動多久之後才執行這個unit
OnBootSec 當開機完成後多久之後才執行
OnStartupSec 當 systemd第一次啓動之後過多久才執行
OnUnitActiveSec 這個 timer 配置文件所管理的那個 unit 服務在最後一次啓動後,隔多久後再執行一次的意思
OnUnitInactiveSec 這個 timer 配置文件所管理的那個 unit 服務在最後一次停止後,隔多久再執行一次的意思
OnCalendar 使用實際時間 (非循環時間) 的方式來啓動服務的意思。至於時間的格式後續再來談
Unit 一般來說不太需要設定,因此如同上面剛剛提到的,基本上我們設定都是 sname.server + sname.timer,那如果你的 sname 並不相同時,那在 .timer 的文件中,就得要指定哪一個service  unit
Persistent 當使用 OnCalendar 的設定時,指定該功能要不要持續進行的意思。通常是設定爲 yes ,比較能夠滿足類似 anacron的功能

六、使用於 OnCalendar 的時間格式

  • 語法:英文周名  YYYY-MM-DD  HH:MM:SS
  • 範例:Thu          2015-08-13       13:40:00

①你也可以直接使用間隔時間來處理,常見的間隔時間單位有:

  • us 或 usec:微秒 (10^{-6} 秒)
  • ms 或 msec:毫秒 (10^{-3}秒)
  • s、sec、second、seconds
  • m、min、minute、minutes
  • h、hr、hour、hours
  • d、day、days
  • w、week、weeks
  • month、months
  • y、year、years
  • 通常英文的寫法爲:小單位在前面,大單位在後面。(秒、再分、再小時、再天數....)

使用案例

  • 隔3小時:3h 或 3hr 或 3hours
  • 隔300分鐘過10 秒::10s 300m
  • 隔5天又100 分鐘:100m 5day

 ②你也可以使用英文常用的口語化日期代表

  • 假設今天是:2015-08-13 13:50:00
now Thu 2015-08-13 13:50:00
today Thu 2015-08-13 00:00:00
tomorrow Thu 2015-08-14 00:00:00
hourly --* *:00:00
daily --* 00:00:00
weekly Mon --* 00:00:00
monthly --01 00:00:00
+3h10m Thu 2015-08-13 17:00:00
2015-08-16 Sun 2015-08-16 00:00:00

七、一個循環時間運行案例

待續。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章