使用 systemd timer 配置定时任务
1. 准备定时脚步
如果是 Bash 脚本,第一行需要指定解释器。
|
|
|
|
别忘了添加可执行权限。
|
|
2. 添加 timer
|
|
[Unit]
Description=clear every week
[Timer]
OnCalendar=*-*-* 5:00:00
Unit=quick-clear.service
[Install]
WantedBy=timers.target
在 [Timer] 中可以使用各种参数控制定时任务的执行周期:
- OnActiveSec,定时器生效后,多少时间开始执行任务
- OnBootSec,系统启动后,多少时间开始执行任务
- OnStartupSec,Systemd 进程启动后,多少时间开始执行任务
- OnUnitActiveSec,该单元上次执行后,等多少时间再次执行
- OnUnitInactiveSec,定时器上次关闭后多少时间,再次执行
- OnCalendar,基于绝对时间,而不是相对时间执行
- AccuracySec,如果因为各种原因,任务必须推迟执行,推迟的最大秒数,默认是60秒
3. 添加 service
|
|
[Unit]
Description=clear every week
Conflicts= quick-clear.timer
[Service]
ExecStart=/root/scripts/quick-clear.sh
4. 管理定时任务
- 加载配置
|
|
- 启动定时任务
|
|
- 查看任务状态
|
|
- 开机自启动
|
|
- 查看定时日志
|
|
- 查看任务执行日志
|
|
- 查看全部定时任务
|
|
5. 参考
- http://www.jinbuguo.com/systemd/systemd.timer.html