在 Debian 中,“定时器”通常指 systemd timer(系统级定时任务),用来替代传统的 cron。下面按最常见使用方式一步步说明如何启用。
Debian 8 及以上默认使用 systemd:
systemctl --version
如果没有 systemd(极老系统),请用 cron。
例如:每天执行一个脚本 /opt/backup.sh
sudo nano /etc/systemd/system/backup.service
内容示例:
[Unit]
Description=Backup Job
[Service]
Type=oneshot
ExecStart=/opt/backup.sh
Type=oneshot表示执行一次就结束(适合定时任务)
sudo nano /etc/systemd/system/backup.timer
[Unit]
Description=Run backup daily
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
| 写法 | 含义 |
|---|---|
OnCalendar= daily |
每天 |
OnCalendar= hourly |
每小时 |
OnCalendar= weekly |
每周 |
OnCalendar=*-*-* 03:00:00 |
每天 3 点 |
OnCalendar=Mon *-*-* 04:00:00 |
每周一 4 点 |
sudo systemctl daemon-reload
sudo systemctl enable backup.timer
sudo systemctl start backup.timer
systemctl list-timers
systemctl status backup.timer
查看下次执行时间:
systemctl list-timers backup.timer
sudo systemctl start backup.service
| 操作 | 命令 |
|---|---|
| 停用 | systemctl disable backup.timer |
| 停止 | systemctl stop backup.timer |
| 查看日志 | journalctl -u backup.service |
| 特性 | systemd timer | cron |
|---|---|---|
| 精度 | 高 | 分钟级 |
| 日志 | journald | 邮件/文件 |
| 依赖管理 | 强 | 无 |
| 推荐场景 | 服务类任务 | 简单脚本 |
如果你愿意,我可以:
只要告诉我用途即可。