温馨提示×

linux怎样同步远程文件

小樊
36
2026-09-16 17:54:11
栏目: 智能运维

在 Linux 中同步远程文件,常见且可靠的方法有以下几种,按使用频率和场景给你说明:


一、rsync(最推荐 ✅)

1️⃣ 基本用法(本地 → 远程)

rsync -avz /local/path/ user@remote:/remote/path/

2️⃣ 远程 → 本地

rsync -avz user@remote:/remote/path/ /local/path/

常用参数说明

  • -a:归档模式(保留权限、时间等)
  • -v:显示过程
  • -z:压缩传输
  • -P:显示进度(断点续传)
  • --delete:删除目标端多余文件(⚠谨慎)

示例(保持完全一致):

rsync -avz --delete /www/ user@192.168.1.10:/backup/www/

✅ 适合:备份、部署、定时同步


二、scp(简单拷贝,不适合增量)

scp -r /local/file user@remote:/path/

❌ 不支持增量同步
✅ 适合:偶尔传文件


三、sftp(交互式)

sftp user@remote

常用命令:

put file
get file
ls
exit

四、sshfs(把远程目录挂载到本地)

sshfs user@remote:/remote/path /mnt/remote

卸载:

fusermount -u /mnt/remote

✅ 像本地文件一样操作
❌ 网络断开会卡


五、自动定时同步(crontab + rsync)

crontab -e

示例(每天 3 点同步):

0 3 * * * rsync -az /data/ user@remote:/backup/

六、双向同步(高级)

  • unison(支持双向)
unison localdir ssh://remote//remotedir

总结建议

需求 推荐
增量备份 rsync
偶尔传文件 scp
挂载远程目录 sshfs
双向同步 unison

如果你愿意,可以告诉我:

  • 服务器之间 还是 本地 ↔ 云服务器
  • 是否要 自动同步
  • 是否 双向

我可以直接给你一套完整命令或脚本。

0