Ubuntu 双机数据同步方法(rsync/scp)
讲清 Ubuntu 间数据同步的标准组合:scp 传单文件、rsync 增量同步目录,给出常用参数与定时脚本模板,以及 SSH 免密前置。
结论先行
双机同步默认组合:scp 传单文件,rsync 传目录。rsync 的核心优势是增量——只传变化的块,第二次同步比第一次快得多。前提是两台机之间有 SSH 通道(免密或密码均可)。
基本命令
# 单文件
scp ~/project/report.pdf user@192.168.1.10:~/backup/
# 目录增量
rsync -avz --progress /home/user/data/ user@192.168.1.10:/backup/data/
参数速记:
| 参数 | 作用 |
|---|---|
-a |
归档模式(递归 + 保留权限时间戳) |
-v |
显示传了什么 |
-z |
传输中压缩 |
--delete |
目标多余文件删掉(双向一致用,慎用) |
--progress |
逐文件进度 |
定时同步模板(cron)
# 每天 03:00 同步 home 目录
0 3 * * * rsync -az --delete /home/user/data/ user@host:/backup/data/
--delete会把目标端多出的文件删掉;源端误删等于连带删目标,首次跑先加--dry-run演练。
免密前置
两台机之间配 SSH 密钥免密(生成密钥、拷公钥到对端 ~/.ssh/authorized_keys),脚本化同步才不用交互输密码。密钥配置细节见 Ubuntu SSH 密钥配置 对应常识篇与 Ubuntu 索引页。
载体建议
被同步方用 服务器版条目 最小安装足够;客户端用桌面条目。两端都开 SSH(服务器安装时勾选 SSH 任务组)。