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

Posted wx5cbc5602e2637

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync实现服务器之间同步目录文件相关的知识,希望对你有一定的参考价值。

服务器之前来回copy文件,你是否会觉得烦躁呢?

一般情况下

服务环境一般有三种

  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服务器的私钥

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

配合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环境了

如图:

perfect!!!

面朝大海```春暖花开      

以上是关于rsync实现服务器之间同步目录文件的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7配置rsync实现文件同步

linux中rsync异步服务器实现文件同步与备份

配置rsync+inotify实现站点文件实时同步

inotify+rsync实现实时同步

Linux课程笔记 Rsync数据同步服务

linux rsync远程同步+sersync+rsync实现实时同步