在 Ubuntu 里“定时器”通常分两种场景,我分开说,你可以对号入座:
crontab -e
分 时 日 月 星期 命令
# 每分钟执行
* * * * * /home/user/test.sh
# 每天凌晨 2 点
0 2 * * * /home/user/backup.sh
# 每 10 分钟
*/10 * * * * /home/user/check.sh
# 每周一 9:30
30 9 * * 1 /home/user/weekly.sh
# 每月 1 号 0 点
0 0 1 * * /home/user/month.sh
crontab -l # 查看
crontab -r # 删除全部
sudo vim /etc/systemd/system/mytimer.service
[Unit]
Description=My Timer
[Service]
ExecStart=/home/user/test.sh
sudo vim /etc/systemd/system/mytimer.timer
[Unit]
Description=Run mytimer
[Timer]
OnCalendar=*-*-* 02:00:00 # 每天 2 点
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now mytimer.timer
systemctl list-timers
| 方式 | 适合场景 |
|---|---|
| cron | 简单脚本、传统用法 |
| systemd timer | 系统服务、日志可控、精确到秒 |
如果你说的是 “某个程序里的定时器(如 Python / shell sleep)”,也可以告诉我具体语言,我给你写代码例子。