当前位置:首页 > Ubuntu > 正文

Ubuntu自动备份脚本(手把手教你用rsync和crontab实现Linux系统定时备份)

在使用Ubuntu等Linux系统时,数据安全至关重要。为了避免意外丢失重要文件,设置一个Ubuntu自动备份脚本是非常有必要的。本文将手把手教你如何使用rsynccrontab来创建一个简单、可靠且全自动的备份方案,即使是Linux小白也能轻松上手!

Ubuntu自动备份脚本(手把手教你用rsync和crontab实现Linux系统定时备份) Ubuntu自动备份脚本  Linux系统备份 rsync备份教程 定时任务crontab 第1张

为什么选择 rsync + crontab?

rsync 是一个高效、快速的文件同步工具,支持增量备份(只复制变化的部分),节省时间和磁盘空间。
crontab 则是Linux系统自带的定时任务管理器,可以按设定的时间自动执行脚本。

这两个工具组合起来,就能实现:每天/每周自动备份指定目录到本地或远程位置,无需人工干预。

第一步:安装 rsync(通常已预装)

大多数Ubuntu系统默认已安装rsync。如未安装,可运行以下命令:

sudo apt updatesudo apt install rsync -y  

第二步:创建备份脚本

我们将在用户主目录下创建一个名为 backup.sh 的脚本文件。

cd ~touch backup.shchmod +x backup.sh  

然后用你喜欢的编辑器(如nano)打开它:

nano ~/backup.sh  

将以下内容粘贴进去(请根据你的实际情况修改路径):

#!/bin/bash# 设置源目录(要备份的文件夹)SOURCE_DIR="/home/your_username/Documents"# 设置目标目录(备份存放位置,可以是外部硬盘、NAS或另一分区)BACKUP_DIR="/mnt/backup/documents_backup"# 日志文件路径LOG_FILE="/home/your_username/backup.log"# 开始备份并记录日志echo "$(date): 开始备份..." >> "$LOG_FILE"rsync -av --delete "$SOURCE_DIR/" "$BACKUP_DIR/" >> "$LOG_FILE" 2>&1# 检查是否成功if [ $? -eq 0 ]; then    echo "$(date): 备份成功完成!" >> "$LOG_FILE"else    echo "$(date): 备份失败!" >> "$LOG_FILE"fi  

⚠️ 注意:请将 your_username 替换为你的实际用户名,并确保 BACKUP_DIR 路径存在且你有写入权限。

第三步:测试脚本

在终端中运行脚本,看看是否正常工作:

~/backup.sh  

然后查看日志文件:

cat ~/backup.log  

如果看到“备份成功完成!”,说明脚本运行正常。

第四步:设置定时任务(crontab)

现在让系统每天凌晨2点自动执行备份:

crontab -e  

如果是第一次使用,会提示你选择编辑器,推荐选 nano

在打开的文件末尾添加一行:

0 2 * * * /home/your_username/backup.sh  

保存并退出(在nano中按 Ctrl+O 回车,再按 Ctrl+X)。

这行配置的含义是:
0 2 * * * 表示每天 2:00 AM 执行后面的命令。

第五步:验证与维护

你可以等待第二天查看 backup.log,或者手动修改crontab为每分钟执行一次进行测试(测试完记得改回来):

# 测试用(每分钟执行)* * * * * /home/your_username/backup.sh  

定期检查日志,确保备份持续正常运行。你也可以将 BACKUP_DIR 指向外部硬盘、网络存储(如通过SSH或Samba挂载的目录),实现更安全的异地备份。

总结

通过本文,你已经学会了如何搭建一个基于 rsync备份教程定时任务crontab 的自动化备份系统。这套方案轻量、高效、稳定,非常适合个人用户或小型服务器使用。

记住:没有备份的数据,等于没有数据! 赶快为你的Ubuntu系统配置一个自动备份吧!

如果你觉得这篇关于 Ubuntu自动备份脚本Linux系统备份 的教程对你有帮助,欢迎分享给更多朋友!