在 Ubuntu 里“定时器做备份”通常有两种常见理解,我分别说明,并给出最常用、最稳妥的方案。
这是现代 Ubuntu 官方推荐方式,比 cron 更可靠、可日志化。
sudo nano /usr/local/bin/backup.sh
示例(备份 /home 到 /backup):
#!/bin/bash
backup_dir="/backup"
src="/home"
date=$(date +%F_%H-%M)
mkdir -p "$backup_dir"
tar czf "$backup_dir/home_$date.tar.gz" "$src"
赋予执行权限:
sudo chmod +x /usr/local/bin/backup.sh
sudo nano /etc/systemd/system/backup.service
内容:
[Unit]
Description=Backup Service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup.sh
sudo nano /etc/systemd/system/backup.timer
每天凌晨 3 点执行:
[Unit]
Description=Daily Backup Timer
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now backup.timer
查看状态:
systemctl list-timers
sudo crontab -e
添加:
0 3 * * * /usr/local/bin/backup.sh
查看日志:
grep CRON /var/log/syslog
⚠️ cron 不适合复杂任务,且环境变量少。
如果你不想自己写脚本:
rsync -a /home/ /backup/home/
borgbackup(强烈推荐)
timeshift
✅ 本地 + 异地(如 rsync 到 NAS / 云)
✅ 保留策略(如保留 7 天)
✅ 日志与邮件通知
如果你愿意,可以告诉我:
我可以直接帮你写完整可用配置。