在Debian系统中,定时任务通常通过systemd
定时器或cron
服务管理,以下是两种方式的编辑方法:
systemd
定时器(推荐)查看现有定时器
systemctl list-timers --all
编辑定时器配置文件
定时器文件通常位于/etc/systemd/system/
或/lib/systemd/system/
,以.timer
结尾。
sudo nano /etc/systemd/system/<timer-name>.timer
[Timer]
部分的OnCalendar
(触发时间,支持cron表达式)、OnBootSec
(系统启动后延迟时间)等参数。[Timer]
OnCalendar=*-*-* 03:00:00
重新加载并重启定时器
sudo systemctl daemon-reload
sudo systemctl restart <timer-name>.timer
验证状态
systemctl list-timers --all
cron
服务编辑当前用户的crontab
crontab -e
分钟 小时 日期 月份 星期 命令
。/home/user/script.sh
30 10 * * * /home/user/script.sh
保存并退出
nano
编辑器:按Ctrl+X
,再按Y
确认保存。vim
编辑器:按Esc
,输入:wq
后按Enter
。重启cron服务(可选)
sudo systemctl restart cron
systemd
定时器适合复杂的触发逻辑(如依赖服务状态),cron
适合简单的周期性任务。chmod +x <文件>
)。sudo
编辑,用户级定时器仅对当前用户生效。参考来源: