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

七、一个循环时间运行案例

待续。。。。。。。

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