设为首页 收藏本站
查看: 575|回复: 0

[经验分享] ubuntu下rsync服务器端和客户端的配置

[复制链接]

尚未签到

发表于 2018-5-1 10:25:01 | 显示全部楼层 |阅读模式
  rsync同步
  

  mall1和mall2、mall3的同步
  

  mall2、3同步mall1上更新的内容:此时:mall2、3为服务器端,mall1为客户端
  

  mall2、mall3上的安装配置:
  
  ===========================================================================================
  

  apt-get install -y rsync(安装rsync)
  sudo find / -name rsyncd.conf
  /usr/share/doc/rsync/examples/rsyncd.conf(rsync的配置文件的默认安装路径)
  sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/ (复制配置文件到/etc/目录下)
  ===========================================================================================
  sudo vi /etc/rsyncd.conf(编辑配置文件为你需要的内容)
  
[global]##全局选项

  uid = ubuntu#指定该模块传输文件时守护进程应该具有的uid
  gid = sudo#指定该模块传输文件时守护进程应该具有的gid
  use chroot = no##是否让进程离开工作目录
  max connections = 10#客户端最大连接数,默认0(没限制)
  pid file = /var/run/rsyncd.pid#运行进程的ID写到哪里
  lock file = /var/run/rsync.lock
  log file = /var/log/rsyncd.log#日志记录文件
  

  

[mall] # 这里是认证的模块名,在client端需要指定

  path=/home/ubuntu/data/web/mall.hiigame.com# 需要做备份的目录
  comment = update #备注同步项
  ignore errors#可以忽略一些无关的IO错误
  read only = no#no客户端可上传文件,yes只读
  list = no #用于设定当客户请求可以使用的模块列表,该模块是否被列出,默认为true
  host allow = 10.133.200.125#充许连接连接的主机(*为任何主机)
  auth users = test # 认证的用户名,如果没有这行,则表明是匿名
  uid = ubuntu
  gid = sudo
  secrets file = /etc/rsync.pass   # 指定认证口令文件位置
  

[statics]

  path=/home/ubuntu/data/web/statics.hiigame.com
  comment = update
  ignore errors
  read only = no
  list = no
  host allow = 10.133.200.125
  auth users = test
  uid = ubuntu
  gid = sudo
  secrets file = /etc/rsync.pass
  

  ===========================================================================================
  编辑认证口令文件:文件名与配置文件中的路径一样
  vi /etc/rsync.pass
  
  test:123456789(认证用户名:认证口令)
  
       chmod 600 /etc/rsync.pass (修改权限,只有root用户才可执行)
  (备注)注意:密码文件的权限,是由rsyncd.conf里的参数
  strict modes =yes/no 来决定:#是否检查口令文件的权限
  
  rsync的启动:sudo /etc/init.d/rsync (start| restart| stop)
  
  
  ==========================================================================================
  
  ubuntu@VM-200-27-ubuntu:~$ ps -aux | grep rsync  (rsync进程)
  Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
  root      1109  0.0  0.0  11004   732 ?        S     2015   0:05 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf
  

  ubuntu@VM-200-27-ubuntu:~$ netstat -an | grep 873 (rsync端口)
  tcp        0      0 10.133.200.27:873       0.0.0.0:*               LISTEN
  

  ===========================================================================================
  客户端的配置:
  apt-get intall rsync inotify-tools (安装客户端的配置)
  
      #sudo vim /etc/rsync.pass(与服务器端相互对应,口令文件 ,只需要有口令即可)
      123456789
  

  编写监控脚本并加载到后台执行
  
  vi /home/ubuntu/data/bin/rsync_mall.sh
  #!/bin/bash
  src=/home/ubuntu/data/web/mall.hiigame.com/
  des=mall#模块标签
  host1="10.133.200.27"#监控主机ip
  host2="10.133.200.135"
  /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib,move $src | while read files
   do
   rsync -qzrtopg --exclude-from=/home/ubuntu/data/bin/rsync.list  --delete --progress --password-file=/etc/rsync.pass $src test@$host1::$des
   rsync -qzrtopg --exclude-from=/home/ubuntu/data/bin/rsync.list --delete --progress --password-file=/etc/rsync.pass $src test@$host2::$des
  

  done
  echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
  

  

  ==========================================================================================
  

  

  案例二
  脚本路径/home/ubuntu/
  

  vi gameserver.sh
  #!/bin/bash
  src=/home/ubuntu/data/nfs/
  des1=game
  host1="10.133.193.230"
  host2="10.105.16.128"
  inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib,move $src | while read files
  do
   rsync -qzrtopg --delete --progress --password-file=/etc/rsync.pass $src test@$host1::$des1
   rsync -qzrtopg --delete --progress --password-file=/etc/rsync.pass $src test@$host2::$des1
  # rsync -qzrtopg --delete --progress --exclude-from=/home/wolfplus/bin/rsync.list --password-file=/etc/rsync.pass $src test@$host6::$des6
   done
   echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
  

  

  放在后台执行
  ./gameserver.sh &
  

  

  

  ====================================================================================
  

  inotify之inotifywait命令常用参数详解
  

  

  [root@inotify-master inotify-tools-3.14]# cd /usr/local/inotify-3.14/
  [root@inotify-master inotify-3.14]# ./bin/inotifywait --help
  -r|--recursive   Watch directories recursively. #递归查询目录
  -q|--quiet      Print less (only print events). #打印监控事件的信息
  -m|--monitor   Keep listening for events forever.  Without this option, inotifywait will exit after one  event is received.        #始终保持事件监听状态
  --excludei <pattern>  Like --exclude but case insensitive.    #排除文件或目录时,不区分大小写。
  --timefmt <fmt> strftime-compatible format string for use with %T in --format string. #指定时间输出的格式
  --format <fmt>  Print using a specified printf-like format string; read the man page for more details.
  #打印使用指定的输出类似格式字符串
  -e|--event <event1> [ -e|--event <event2> ... ] Listen for specific event(s).  If omitted, all events are  listened for.   #通过此参数可以指定需要监控的事件,如下所示:
  Events:
  access           file or directory contents were read       #文件或目录被读取。
  modify           file or directory contents were written    #文件或目录内容被修改。
  attrib            file or directory attributes changed      #文件或目录属性被改变。
  close            file or directory closed, regardless of read/write mode    #文件或目录封闭,无论读/写模式。
  open            file or directory opened                    #文件或目录被打开。
  moved_to        file or directory moved to watched directory    #文件或目录被移动至另外一个目录。
  move            file or directory moved to or from watched directory    #文件或目录被移动另一个目录或从另一个目录移动至当前目录。
  create           file or directory created within watched directory     #文件或目录被创建在当前目录
  delete           file or directory deleted within watched directory     #文件或目录被删除
  unmount         file system containing file or directory unmounted  #文件系统被卸载
  

  
  

  
  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-454324-1-1.html 上篇帖子: Ubuntu libc.so.6 位置问题 下篇帖子: openstack kilo 在ubuntu14.04的安装部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表