# cd /usr/lib/systemd/system
编写 test-timer.service
[Unit]
Description=test timer
[Service]
Type=simple
ExecStart=/home/www/test-timer.sh
编写 test-timer.timer
[Unit]
Description=test timer
[Timer]
# 多久之后开始执行
OnActiveSec=60
# 每隔多少秒执行
OnUnitActiveSec=10
Unit=test-timer.service
[Install]
WantedBy=multi-user.target
timer 参数说明
- OnActiveSec= 表示相对于本单元被启用的时间点
- OnBootSec= 表示相对于机器被启动的时间点
- OnStartupSec= 表示相对于systemd被首次启动的时间点
- OnUnitActiveSec= 表示相对于匹配单元(本标签下Unit=指定的单元)最后一次被启动的时间点
- OnUnitInactiveSec= 表示相对于匹配单元(本标签下Unit=指定的单元)最后一次被停止的时间点
启动任务
# systemctl daemon-reload # 重新加载服务
# systemctl enable test-timer.timer
Created symlink from /etc/systemd/system/multi-user.target.wants/test-timer.timer to /usr/lib/systemd/system/test-timer.timer.
# systemctl start test-timer.timer
查看状态
# systemctl status test-timer.timer
● test-timer.timer - test timer
Loaded: loaded (/usr/lib/systemd/system/test-timer.timer; enabled; vendor preset: disabled)
Active: active (waiting) since Sat 2020-09-12 15:54:31 CST; 21s ago
Sep 12 15:54:31 iZhp3iuwugw5g1on7zv932Z systemd[1]: Started test timer.
关闭定时任务
# systemctl disable test-timer.timer #关闭开机启动(即删除目录链接)
# systemctl stop test-timer.timer # 关闭单元
# systemctl stop test-timer.service
之后删除timer 和Service文件
# systemctl daemon-reload # 重新加载配置