在 Ubuntu 中,“定时器”通常有两种理解:
下面分别说明。
crontab -e
* * * * * command
分 时 日 月 周 命令
示例:
# 每天凌晨 2 点执行备份
0 2 * * * /home/user/backup.sh
# 每 5 分钟执行一次
*/5 * * * * /usr/bin/python3 /home/user/task.py
crontab -l
sudo nano /etc/crontab
sudo apt install at
sudo systemctl enable --now atd
at 02:00
at> /home/user/backup.sh
at> Ctrl+D
atq
atrm 任务编号
sudo nano /etc/systemd/system/mytask.service
内容:
[Unit]
Description=My Task
[Service]
ExecStart=/home/user/task.sh
sudo nano /etc/systemd/system/mytask.timer
内容:
[Unit]
Description=Run mytask daily
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now mytask.timer
systemctl list-timers
可用:
gnome-schedule
或
sudo apt install gnome-schedule
| 场景 | 推荐方式 |
|---|---|
| 简单周期任务 | cron |
| 一次性任务 | at |
| 系统服务级 | systemd timer |
如果你有具体需求(比如每天几点、执行什么命令),我可以直接帮你写配置。