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

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述rsync实现服务器之间同步目录文件相关的知识,希望能为你提供帮助。

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

文章图片
服务器之前来回copy文件,你是否会觉得烦躁呢?一般情况下
服务环境一般有三种
  1. dev开发环境
  2. test测试环境
  3. prod生产环境
环境多了,不可避免的事是一些重复的操作,部署什么的
能不能在开发环境打包后,直接同步到测试环境呢?(毕竟重复的事干的多了是会烦的)
是可以的
linux下可以直接使用rsync命令
windows下可以安装cygwin来实现
copy一张图片
rsync实现服务器之间同步目录文件

文章图片

这里记录下同步到远程服务器的操作,也就是图上的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 /rootvim 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环境了
如图:
rsync实现服务器之间同步目录文件

文章图片

【rsync实现服务器之间同步目录文件】perfect!!!
面朝大海```春暖花开

    推荐阅读