文章总结: 本文详细介绍了Rsync文件同步工具的多种部署方式,包括基本命令、排除特定文件、SSH密钥认证、增量部署、限速传输、远程命令执行、守护进程模式以及结合Git的部署流程。文章还提供了下行和上行服务的完整部署方案,包含服务端配置、用户设置、服务启动和客户端测试等步骤,并给出了实用的注意事项和辅助材料,帮助用户构建适合自己项目的部署流程。
综合评分: 75
文章分类: 安全工具,网络安全,解决方案,数据安全,应用安全
Rsync 部署方式指南
原创
Titans
骏之安科技知识库
2025年8月4日 11:59
河南
Rsync 部署方式指南
Rsync 是一种高效的文件同步工具,广泛用于部署应用程序和网站。以下是几种常见的 Rsync 部署方式:
1. 基本Rsync 部署命令
rsync -avz --delete /local/path/ user@remotehost:/remote/path/
参数说明:
- •
-a: 归档模式,保留文件属性 - •
-v: 详细输出 - •
-z: 压缩传输 - •
--delete: 删除目标目录中源目录不存在的文件
2. 排除特定文件/目录
rsync -avz --exclude='node_modules' --exclude='.git' /local/path/ user@remotehost:/remote/path/
或使用排除文件:
rsync -avz --exclude-from='exclude-list.txt' /local/path/ user@remotehost:/remote/path/
3. SSH 密钥认证部署
- 1. 生成 SSH 密钥对(如果还没有):
ssh-keygen -t rsa
- 2. 将公钥复制到远程服务器:
ssh-copy-id user@remotehost
- 3. 使用 Rsync 通过 SSH 部署:
rsync -avz -e ssh /local/path/ user@remotehost:/remote/path/
4. 增量部署(仅同步更改文件)
rsync -avz --checksum /local/path/ user@remotehost:/remote/path/
5. 限速传输(避免占用过多带宽)
rsync -avz --bwlimit=1000 /local/path/ user@remotehost:/remote/path/
(单位:KB/s)
6. 部署后执行远程命令
rsync -avz /local/path/ user@remotehost:/remote/path/ && ssh user@remotehost "cd /remote/path && ./deploy.sh"
7. 使用 Rsync 守护进程模式
- 1. 在远程服务器配置
/etc/rsyncd.conf:
[deploy]
path = /remote/path
comment = Deployment Directory
read only = no
auth users = deployuser
secrets file = /etc/rsyncd.secrets
- 2. 同步文件:
rsync -avz /local/path/ rsync://deployuser@remotehost/deploy/
8. 结合 Git 的部署流程
git pull origin master && rsync -avz --delete --exclude='.git' /local/path/ user@remotehost:/remote/path/
下行服务部署方案:
服务端配置:
1.创建文件内容
2.备份rsync配置文件
3.rsync配置文件参数调整
4.登录用户配置
5.服务启动
6.客户端测试:
上行服务部署方案
前提:依据下行部署方案成功后,才可配置上行
- 1. 首先要修改服务器端模板
- 2. 客户端测试
- 3. 服务器查看内容是否变更
辅助材料:
# delete 删除目标地址有的文件,而源地址没有的文件
rsync -avz --delete rsync://rsync用户@服务器端IP/共享目录 本地目录
rsync -avz --delete rsync://[email protected]/share /client/rsync
注意事项
- 1. 首次部署前建议先使用
--dry-run参数测试 - 2. 生产环境部署应考虑维护版本回滚能力
- 3. 敏感文件(如配置文件)可能需要特殊处理
- 4. 大文件部署可能需要考虑断点续传
以上方法可以根据具体项目需求组合使用,构建适合您项目的部署流程。
–END–
觉得不错,可以关注,点赞,转发,如果需要技术援助,可以联系我们,期待您的莅临
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:骏之安科技知识库 Titans《Rsync 部署方式指南》