使用rsync进行多服务器同步

@(Others)


当集群数量很大时,修改配置文件和节点之间的文件同步是一件很麻烦且浪费时间的事情。

rsync是linux上实现不同机器之间文件同步、备份的工具,centos系统中默认已经安装,使用

rsync -h

检查是否已经安装rsync。

使用前提

确保各个节点部署的目录结构是一致的,不然同步起来很麻烦。

使用过程

在网上找到一大堆rsync的配置资料,然而使用起来不尽人意,对于初次使用rsync的人来说,各种配置显然太过复杂,需要一步步来熟悉。

所以这里不会对rsync的配置文件进行任何修改,仅仅使用rsync的命令进行同步操作。

需求

需要同步各个节点上的hadoop、hbase和spark的配置文件,其余目录/文件不需要同步。

exclude文件

在部署hadoop等父目录下,新建一个rsync-exclude.list文件,内容为不需要同步的目录/文件,每个目录/文件为一行

每行的内容不要留有空格或者制表符等,不然会导致无效!

在该目录下执行rsync命令:

sudo rsync -avz --exclude-from rsync-exclude.list ${需要同步的目录} ${目标节点ip/host}:${目标节点的目录}

-avz 表示传输过程中递归同步、显示详情并使用压缩。

–exclude-from 的参数为exclude文件目录。

注意,exclude文件中要使用相对路径,测试时使用绝对路径失败。

脚本实现多服务器同步

只需要一个简单的for循环即可实现:

#!/bin/bash
hosts=(host1 host2 host3 ...)
for host in ${hosts[@]}
do
sudo rsync -avz --exclude-from rsync-exclude.list ${需要同步的目录} $host:${目标节点的目录}
done

作者:@小黑

最新文章

  1. iOS开发UI篇—核心动画(UIView封装动画)
  2. Jquery与CSS选择器参考手册
  3. css通用小笔记01——导航背景
  4. 前端Html和Css面试题
  5. Adobe flash player更新失败
  6. Network - Tcpdump
  7. HDU 5317 RGCDQ (数论素筛)
  8. AX 最顶部工作区间窗口文本修改
  9. [Security] Automatically adding CSRF tokens to ajax calls when using jQuery--转
  10. 关于分区技术的索引 index
  11. jmeter测试本地myeclips调试状态下的tomcat程序死锁
  12. 基于visual Studio2013解决C语言竞赛题之0614递归大元素
  13. java中堆和堆栈的区别
  14. 2017携程Web前端实习生招聘笔试题总结
  15. Sybase数据库的连接,JNDI配置,Hibernate配置
  16. Navicat的使用
  17. C#网页提交html代码报错
  18. Android简易实战教程--第四十三话《上拉加载与下拉刷新》
  19. 【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程
  20. 提高工作效率-window热键

热门文章

  1. Android点击图标重新启动问题
  2. js表单提交回调函数
  3. 【BZOJ 2791】 2791: [Poi2012]Rendezvous (环套树、树链剖分LCA)
  4. Android apk去广告
  5. 手机上编程,编写android apk
  6. 【BZOJ 3993】【SDOI 2015】序列统计
  7. Codeforces 379 F. New Year Tree
  8. 【数形结合】Erratic Expansion
  9. 【贪心】AtCoder Regular Contest 079 E - Decrease (Judge ver.)
  10. 【KMP】BZOJ3942-[Usaco2015 Feb] Censoring