终于到了systemd的timer设置了,直接开始1)Timer 常用参数说明:OnActiveSec:timer.target 启动多少时间开始执行该 unitOnBootSec:系统启动多少时间开始执行该 unitOnStartupSec:Systemd 进程启动后多少时间开始执行该 unitOnUnitActiveSec:该 unit 执行后等多少时间再次执行OnUnitInactiveSec: 该 unit 上次关闭后多少时间再次执行OnCalendar:基于绝对时间而不是相对时间执行AccuracySec:如果任务必须推迟执行,推迟的最大秒数(默认 60 秒)(要求精确时该项必须设置)Unit:要执行的任务,用于 .timer 与 .service 不同名时(不设置寻找同名 service)Persistent:如果设置了该字段,如因特殊原因错过执行,该服务会在系统启动时补上WakeSystem:如果系统休眠,是否自动唤醒系统,今天小编就来聊一聊关于timer的参数?接下来我们就一起去研究一下吧!

timer的参数(systemd.timer高手速成手册)

timer的参数

终于到了systemd的timer设置了,直接开始。

1)Timer 常用参数说明:OnActiveSec:timer.target 启动多少时间开始执行该 unitOnBootSec:系统启动多少时间开始执行该 unitOnStartupSec:Systemd 进程启动后多少时间开始执行该 unitOnUnitActiveSec:该 unit 执行后等多少时间再次执行OnUnitInactiveSec: 该 unit 上次关闭后多少时间再次执行OnCalendar:基于绝对时间而不是相对时间执行AccuracySec:如果任务必须推迟执行,推迟的最大秒数(默认 60 秒)(要求精确时该项必须设置)Unit:要执行的任务,用于 .timer 与 .service 不同名时(不设置寻找同名 service)Persistent:如果设置了该字段,如因特殊原因错过执行,该服务会在系统启动时补上WakeSystem:如果系统休眠,是否自动唤醒系统

2)根据时长设定时间:* 格式:T1 T2 T3 ... ...* 多个时间用空格隔开* 所有时间相加所得总时长为最终结果* 时间单位:nsec, ns:纳秒(仅部分场合接受) usec, us, µs:微秒 msec, ms:毫秒seconds, second, sec, s:秒 minutes, minute, min, m:分钟 hours, hour, hr, h:小时days, day, d:天 weeks, week, w:星期 months, month, M:月 years, year, y:年* 2h 30min 40sec:代表 2小时 30分 40秒=150 分 40 秒

3)时间戳方式设定时间:* 格式:Tue 2022-08-23 9:02:15 UTC* Tue:星期部分。使用英文全称或三字母缩写(不区分大小写);星期与日期不符该设置无效(建议省略此部分)* 2022-08-23:日期部分。可省略代表当前日期;年可以省略前两位(不建议)* 9:02:15:时间部分。可全部省略代表 00:00:00;可只省略秒代表 00 秒* 日期与时间可以省略二者之一,但不能都省略* UTC:时区部分。可省略代表当前时区(timedatectl list-timezones 获取时区)* 其他可用格式:# now/today/yesterday/tomorrow:现在/今天/昨天/明天# /-(前缀); ago/before(后缀):时间的加减# @NUM:表示相对于时间原点(1970-01-01 00:00:00 UTC)之后多少秒

4)日历方式设定时间:(可设循环时间)* 格式:Thu,Fri 2022-*-1,5 11:12:13 UTC* 时间设定注意事项见第三项内容* Thu,Fri:星期部分:.. :表示范围, :多个时间间隔* 日期与时间部分:* :匹配任意值, :多个时间间隔.. :表示范围(3..6表示3到6)注意不是 -/NUM :以 NUM 为间隔不断跳跃(注意与 crontab 设置不同)月~NUM :表示那个月倒数第几天秒/小数 :以小数为间隔跳跃(实现更高的精度)

5)注意事项:

6)如需详细了解 .timer,读者可通过 man systemd.timer 获取;时间格式通过 man systemd.time 获取。

systemd的设置部分就讲完了,回头再看看原来的例程是不是很简单了?

systemctl命令使用如果大家有兴趣请留言,有机会专门讲解。

笔者关联文章:

linux下如何执行高精度的定时任务

systemd参数介绍——Unit与Install

一文精通systemd.service

,