FetchLinux:Linux服务器文件同步技巧
导读:Linux服务器文件同步技巧精选 一 常用工具与核心命令 SCP(基于 SSH 的安全拷贝) 下载文件:scp -P **2222** user@**192.168.1.100**:/remote/file /local/path 上传...
Linux服务器文件同步技巧精选
一 常用工具与核心命令
- SCP(基于 SSH 的安全拷贝)
- 下载文件:
scp -P **2222** user@**192.168.1.100**:/remote/file /local/path - 上传目录:
scp -r -P **2222** /local/dir user@**192.168.1.100**:/remote/dir - 注意:-P 大写指定端口;SSH 自身用 -p 小写。适合一次性、小中型文件传输。
- 下载文件:
- Rsync(增量同步、可断点续传)
- 拉取:
rsync -avz -e "ssh -p **2222**" user@**192.168.1.100**:/remote/dir/ /local/dir/ - 推送:
rsync -avzP -e "ssh -p **2222**" /local/dir/ user@**192.168.1.100**:/remote/dir/ - 要点:-a 归档保留属性,-v 详细,-z 压缩,-P 显示进度/断点续传;源路径末尾的 / 决定是否仅同步目录内容。
- 拉取:
- SFTP(交互式传输)
- 连接:
sftp -P **2222** user@**192.168.1.100** - 操作:
get /remote/file /local/,put /local/file /remote/,get -r /remote/dir /local/ - 适合多次、选择性传输与人工介入场景。
- 连接:
- HTTP 下载(wget/curl)
wget http://example.com/file.zip或curl -O http://example.com/file.zip- 适用于通过 HTTP/HTTPS/FTP 提供的文件分发。
二 自动化与实时同步
- SSH 免密登录
- 生成密钥:
ssh-keygen -t rsa - 分发公钥:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p **2222** user@host - 之后 SCP/Rsync 无需交互输入密码,便于脚本与定时任务。
- 生成密钥:
- 定时同步(Rsync + Cron)
- 示例(每天 02:30 同步):
30 2 * * * /usr/bin/rsync -az --delete -e "ssh -p 2222" /data/ user@192.168.1.100:/backup/data/ - 适合日志归集、备份与弱实时需求。
- 示例(每天 02:30 同步):
- 实时同步(Inotify + Rsync)
- 安装:
sudo apt-get install -y inotify-tools rsync - 思路:监控目录事件(如 close_write、moved_to),触发增量同步;可配合 while 循环 + 重试 提升稳健性。
- 安装:
- 实时守护(Lsyncd)
- 基于 inotify 的高层封装,配置简洁,适合“多服务器/多目录”实时同步与守护场景。
三 进阶方案与适用场景
- Rsync 常用增强选项
- 保持两端一致:
--delete - 排除规则:
--exclude='*.log',或--exclude-from=exclude.txt - 带宽与限速:
--bwlimit=10000(单位 KB/s) - 部分传输与断点续传:
-P - 谨慎使用
--partial与网络不稳场景,避免残留不完整文件。
- 保持两端一致:
- 双向同步与冲突合并
- 工具选型:Unison 支持双向同步与冲突检测/合并,适合多端协作编辑与镜像。
- 分布式/共享存储
- GlusterFS:多服务器统一存储池,面向共享与横向扩展。
- DRBD:块级复制,面向高可用集群的数据强一致。
四 稳定性与完整性实践
- 断点续传与长时任务
- 使用 rsync -P 显示进度并支持续传;大文件或跨公网传输建议配合 screen/tmux 防止会话中断。
- 完整性校验
- 传输后对比哈希:
md5sum /path/file;两端一致可判定传输无误。
- 传输后对比哈希:
- 端口与协议要点
- SCP 的 -P 大写 指定端口;SSH 的 -p 小写;SFTP 同样使用 -P 指定端口。
- 路径斜杠语义
- Rsync 源路径末尾 / 表示仅同步目录内容;不加 / 会同步目录本身,影响目标结构。
- 安全与合规
- 优先使用 SSH 通道;限制 root 直连;为自动化任务创建 专用账号 并限定 sudo 权限与目录范围。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: FetchLinux:Linux服务器文件同步技巧
本文地址: https://pptw.com/jishu/749009.html
