首页 > 其他 > 详细

使用rsync + inotify 实现多台游戏服代码自动实时同步

时间:2014-11-27 18:52:35      阅读:333      评论:0      收藏:0      [点我收藏+]

一 应用场景描述

 在LB后端有多台游戏服运行PHP代码,每台服务器的环境部署一样,PHP代码一样。现在有时需要更改游戏配置文件,如更改各个区服的开服状态等。登陆到每台服务器去更改相应的文件会比较繁琐,需要当在第一台服务器上的配置文件作更改时,其他服务器上的配置文件自动更改。于是考虑可以使用rsync + inotify的方式来同步代码。


二 rsync和inotify配置

使用yum -y install rsync安装rsync服务

rsync有两种工作模式,命令行模式和C/S模式

使用man rsync查看rsync命令的详细使用

使用man rsyncd.conf查看rsync C/S模式运行时的配置文件的详细配置

启动rsync C/S模式

/usr/bin/rsync --daemon

/etc/rsyncd.conf 这个文件默认不存在,需要手动创建一个.


  uid = root
  gid = root
  use chroot = no
  max connections = 50
  #strict modes = yes
  pid file = /var/run/rsyncd.pid
  lock file = /var/run/rsyncd.lock
  log file = /var/log/rsyncd.log

  [login_nginx]
  path = /etc/nginx/
  comment = login nginx
  ignore errors
  read only = no
  write only = no
  hosts allow = 192.168.1.0/24
  hosts deny = *
  list = false


  [game_center]
  path = /var/www/html
  comment = game_center code
  ignore errors
  read only = no
  write only = no
  hosts allow = 192.168.1.0/24
  hosts deny = *
  list = false


这里uid和gid特别重要,表示当传输文件时,rsyncd守护进程应该具有的对指定目录的权限。如果权限不对,传输将失败。


use chroot         如果设置为true,那么rsync 在传输文件之前会chroot到指定的目录下。

list               这个参数设置当客户端请求列出可用模块时,这个模块是否可以列出

max connections    设置最大并发连接数,默认是0,表示无限制。

game_center        是这个模块的名称

path               设置同步目录

ignore errors      忽略一些I/O错误

read only          设置是否允许只读      

write only         设置是否允许只写

hosts allow        设置允许访问的IP范围,可以是单个IP,也可以是IP段

hosts deny         设置拒绝访问的IP范围



本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1583159

使用rsync + inotify 实现多台游戏服代码自动实时同步

原文:http://john88wang.blog.51cto.com/2165294/1583159

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!