在 Ubuntu 中,“定时器”通常有两种常见理解:一次性/周期性执行任务的定时计划(cron / at),以及 systemd 定时器(systemd timer)。下面分别介绍。
crontab -e
* * * * * 命令
分 时 日 月 周
示例:
0 3 * * * /home/user/backup.sh
*/5 * * * * /home/user/check.sh
30 9 * * 1 /home/user/weekly.sh
crontab -l # 查看
crontab -r # 删除
sudo nano /etc/crontab
或放入:
/etc/cron.d/
/etc/cron.daily/
/etc/cron.hourly/
sudo apt install at
sudo systemctl enable --now atd
at 23:00
> /home/user/backup.sh
> Ctrl+D
指定时间示例:
at now + 1 hour
at 2026-01-20 10:00
查看任务:
atq
删除任务:
atrm 任务编号
sudo nano /etc/systemd/system/mytask.service
内容:
[Unit]
Description=My Task
[Service]
Type=oneshot
ExecStart=/home/user/mytask.sh
sudo nano /etc/systemd/system/mytask.timer
内容(每天 3:00):
[Unit]
Description=Run My Task Daily
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now mytask.timer
systemctl list-timers
systemctl status mytask.timer
sudo crontab -e
0 4 * * * /sbin/reboot
如果你能说明具体需求(例如:定时备份、定时重启、开机延迟执行、用户级还是系统级),我可以给你更精确的配置示例。