在 Ubuntu 里“定时器写脚本”通常有两种常见方式,取决于你说的定时器是指哪一种:
cron(最常用,系统级/用户级定时任务)crontab -e
如果是系统任务:
sudo crontab -e
创建一个脚本文件:
mkdir -p ~/scripts
nano ~/scripts/backup.sh
内容示例:
#!/bin/bash
echo "$(date) 备份执行" >> ~/backup.log
赋予执行权限:
chmod +x ~/scripts/backup.sh
格式:
分 时 日 月 周 命令
示例(每天凌晨 2 点执行):
0 2 * * * /home/youruser/scripts/backup.sh
示例(每 5 分钟执行):
*/5 * * * * /home/youruser/scripts/backup.sh
⚠️ 注意:
systemd timer(更现代,适合服务)sudo nano /etc/systemd/system/mytimer.service
内容:
[Unit]
Description=My Timer Script
[Service]
Type=oneshot
ExecStart=/home/youruser/scripts/backup.sh
sudo nano /etc/systemd/system/mytimer.timer
内容(每天 2 点):
[Unit]
Description=Run backup daily
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now mytimer.timer
查看状态:
systemctl list-timers
| 方式 | 适合场景 |
|---|---|
| cron | 简单脚本、传统用法 |
| systemd timer | 服务化、日志好、可控性强 |
如果你愿意,可以告诉我:
我可以直接帮你写一份完整可用的示例。