使用rsync实现多服务器同时部署代码

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。类似于scp

以下方法适用于在多个不同服务器(不在局域网内)部署相同项目
现在一个服务器上部署完整项目
然后新建一个auto_deploy.sh文件

# /bin/bash
# 1号服务器
SYS_PWD='123456'
sshpass -p $SYS_PWD rsync -avzP --exclude "/logs" -e 'ssh -p 22' /application/nginx/html/new_bi  
root@122.112.162.153:/application/nginx/html
# 2号服务器
SYS_PWD2='7898798'
sshpass -p $SYS_PWD2 rsync -avzP -e 'ssh -p 8901' /application/nginx/html/new_bi/test root@111.111.111.111:/application/nginx/html/new_bi

记得给auto_deploy.sh添加可执行权限

chmod u+x auto_deploy.sh
. auto_deploy.sh 执行
-a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-v,--verbose 详细模式输出,传输时的进度等信息
-z,--compress 传输时进行压缩以提高传输效率
-P,--progress	显示同步的过程及传输时的进度等信息
-e 'ssh -p 22' 表示以ssh的方式通过22端口推送,如果不写默认22端口
--exclude 忽略文件
sshpass 免密码登陆
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值