前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rsync实现服务器之间同步目录文件

rsync实现服务器之间同步目录文件

作者头像
陈灬大灬海
发布2019-12-20 15:19:15
2.7K0
发布2019-12-20 15:19:15
举报

一般情况下

服务环境一般有三种

  1. dev   开发环境
  2. test   测试环境
  3. prod    生产环境

环境多了,不可避免的事是一些重复的操作,部署什么的

能不能在开发环境打包后,直接同步到测试环境呢?(毕竟重复的事干的多了是会烦的)

是可以的

linux下可以直接使用rsync命令

windows下可以安装cygwin来实现

copy一张图片 

 这里记录下同步到远程服务器的操作,也就是图上的push推

拿两台服务器

本地:192.168.1.10

远程:192.168.1.130

需求:将192.168.1.10的/opt/vue/index.html文件 和 /opt/vue/static目录同步到远程192.168.1.130的/opt/dist目录下

操作:

rsync -avP -e "ssh -i ~/.ssh/130/my.pem" /opt/vue/static /opt/vue/index.html root@192.168.1.130:/opt/dist

参数说明

  • -a --archive  :归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"
  • -v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息
  • -P:显示文件传输的进度信息。(实际上"-P"="--partial --progress",其中的"--progress"才是显示进度信息的)
  • my.pem文件是登录192.168.1.130服务器的私钥,生成方式可以查看这篇文章 ssh通过pem文件登陆服务器 

既然想实时操作,并不想每次都执行这么个脚本怎么办

配合linux定时任务 crontab,定时执行即可

 方式:将命令写入一脚本中,定时执行即可

cd /root

vim rsync-vue-130.sh //写入rsync -avP -e "ssh -i ~/.ssh/130/my.pem" /opt/vue/static /opt/vue/index.html root@192.168.1.130:/opt/dist
// crontab -e 编辑定时任务,写入,如下为每两分钟同步一次

*/2 * * * *  /root/rsync-vue-130.sh

如果是windows环境的话,需要安装cygwin,这样就会在windows平台提供了linux环境了

如图:

安装可以参考https://blog.csdn.net/heshushun/article/details/78664384

perfect!!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档