在 Linux 中同步远程文件,常见且可靠的方法有以下几种,按使用频率和场景给你说明:
rsync -avz /local/path/ user@remote:/remote/path/
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 -r /local/file user@remote:/path/
❌ 不支持增量同步
✅ 适合:偶尔传文件
sftp user@remote
常用命令:
put file
get file
ls
exit
sshfs user@remote:/remote/path /mnt/remote
卸载:
fusermount -u /mnt/remote
✅ 像本地文件一样操作
❌ 网络断开会卡
crontab -e
示例(每天 3 点同步):
0 3 * * * rsync -az /data/ user@remote:/backup/
unison(支持双向)unison localdir ssh://remote//remotedir
| 需求 | 推荐 |
|---|---|
| 增量备份 | rsync |
| 偶尔传文件 | scp |
| 挂载远程目录 | sshfs |
| 双向同步 | unison |
如果你愿意,可以告诉我:
我可以直接给你一套完整命令或脚本。