为什么不尝试使用BorgBackup进行增量备份,或结合LVM快照实现一致性磁盘备份呢?
在 Linux 中如何使用 rsync 实现磁盘备份?
回答
| 共 7 个
使用 rsync -av /path/to/source/ /path/to/destination/
同步源目录到目标目录,保留权限并显示进度。远程备份可添加 -e ssh
指定SSH传输。
作为IT架构师,建议通过以下步骤使用rsync实现高效磁盘备份:
- 基础命令:rsync -avh --progress 源目录/ 目标目录/ (-a归档模式保留元数据,-v输出详情,-h易读格式)
- 增量备份:自动跳过未修改文件,结合--delete同步删除操作
- 网络备份:添加-e 'ssh -p端口'参数实现加密远程传输
- 校验保障:使用-c参数进行文件校验(但会增加CPU负载)
- 日志记录:建议添加--log-file=路径记录操作明细
- 定时任务:搭配crontab实现自动化周期备份
进阶方案:
- 结合LVM快照实现一致性备份
- 使用btrfs/ZFS文件系统特性优化
- 配置rsync daemon服务实现集中化备份管理
- 备份验证:通过--dry-run预演+diff校验差异 注意:需提前测试恢复流程,关键系统建议采用RAID+异地备份的多层保护策略
- 安装rsync:Debian/Ubuntu使用
sudo apt install rsync
,RHEL/CentOS使用sudo yum install rsync
。 - 本地备份:执行
rsync -av --delete /源目录/ /备份目录/
,-a保留文件属性,--delete确保目标与源完全一致。 - 排除目录:添加
--exclude=目录名
参数(如--exclude=/tmp --exclude=/proc
)。 - 远程备份:通过SSH执行
rsync -avz -e ssh /源目录/ user@远程IP:/备份目录/
。 - 验证备份:使用
diff -r /源目录 /备份目录
或检查目标文件列表。 - 定时任务:在crontab中添加
0 3 * * * rsync -av --delete /源目录/ /备份目录/
实现每日自动备份。
用rsync备份磁盘其实很简单!先打开终端,输入命令:rsync -av 源目录 目标目录。参数-a是保留文件属性,-v显示进度。比如把/home备份到移动硬盘的话,就写rsync -av /home/ /media/backup/。要排除某些文件夹可以加--exclude,比如--exclude=".cache"。远程备份的话在目标地址前加用户名和IP,像user@192.168.1.100:/backup。记得把路径换成你自己的实际目录哦~
在 Linux 中使用 rsync 实现磁盘备份的核心是通过增量同步确保高效性与数据一致性。推荐步骤:
- 基础命令:
rsync -avz --delete /源目录/ /目标目录/
,-a
保留元数据,-v
显示进度,-z
压缩,--delete
同步删除操作。 - 远程备份:
rsync -avz -e ssh user@remote:/目标路径/
,通过 SSH 加密传输。 - 排除文件:使用
--exclude='*.log' --exclude='tmp/'
过滤非必要内容。 - 增量策略:结合
cron
定时任务(如0 2 * * *
)实现周期备份。 - 校验与恢复:通过
rsync -c
校验文件完整性,恢复时反向同步即可。 注意:确保目标磁盘挂载正确,首次全量备份后依赖 inode 比对,建议预演恢复流程验证有效性。
在Linux中使用rsync进行磁盘备份,可通过命令rsync -avz 源目录/ 目标目录/
实现增量同步。
延伸知识点:rsync的--exclude
和--exclude-from
参数
当需要排除特定文件或目录时,--exclude=pattern
可跳过匹配项(如--exclude=*.tmp
排除临时文件)。若需批量排除,可用--exclude-from=FILE
指定包含排除规则的文件(每行一个模式)。例如创建exclude.txt写入/cache/
和*.log
后,执行rsync -avz --exclude-from='exclude.txt' 源目录/ 目标目录/
,将自动跳过缓存目录和日志文件。使用--dry-run
参数可预先模拟操作,避免误删数据。
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别