文章都可以转载、引用,标明转载出处即可。

rsync 服务器搭建

Linux服务 Mr.c 2966℃ 0评论

  生产环境中数据同步是最常用的工具,特别是使用了LVS负载均衡的环境,web服务器上的代码需要同步,或者本地开发人员修改、上传了新代码文件需要同步到对应的项目服务器上都可以使用rsync 工具。
测试环境情况如下:
 centos 6.5_64 位系统安装rsync 服务器,IP地址:192.168.31.10
 一台centos 7系统作为客户端进行测试,IP地址:192.168.31.11
 rsync 默认情况下系统已经安装,但是我这里重新编译安装了一份,作为独立服务运行

1.下载rsync 源码包

wget  http://www.samba.org/ftp/rsync/rsync-3.1.2.tar.gz
tar  -zxvf rsync-3.1.2.tar.gz
cd  rsync-3.1.2

2.配置+编译安装

./configure --prefix=/usr/local/rsync  -disable-ipv6  #默认情况下会开启ipv6 ,我们可以直接在编译的过程取消ipv6
make && make install

3.创建对应的配置文件(为什么说是创建,因为不管是yum安装还是编译安装,都没有conf 文件产生,需要自己生成)

cd  /usr/local/rsync
mkdir  etc 
mkdir  var
vim  ./etc/rsyncd.conf

log file = /usr/local/rsync/var/rsyncd.log
pid file = /usr/local/rsync/var/rsyncd.pid
lock file = /usr/local/rsync/var/rsyncd.lock
secrets file = /usr/local/rsync/etc/rsyncd.pass
motd file = /usr/local/rsync/etc//rsyncd.motd
read only = yes
hosts allow = 192.168.31.0/24
list = yes
uid = nobody
gid = nobody
use chroot = no
max connections = 60

[home_suse]
path = /home/wwwroot/suse
comment = www suse
auth users = qxyrsy

rsync.conf 即为配置文件了,其中的信息大概说明一下
log file = /usr/local/rsync/var/rsyncd.log     #定义日志文件
pid file = /usr/local/rsync/var/rsyncd.pid     #定义PID文件
lock file = /usr/local/rsync/var/rsyncd.lock  #支持max connections参数的锁文件
secrets file = /usr/local/rsync/etc/rsyncd.pass    #定义客户端连接时认证的账号密码信息文件
motd file = /usr/local/rsync/etc//rsyncd.motd    #rsync启动时欢迎信息页面文件位置(文件内容自定义)
read only = yes    #是否只读(若从客户端同步到服务器必须设置为NO)
hosts allow = 192.168.31.0/24  #允许的IP地址段
list = yes    
uid = root    #rsync以什么用户身份启动
gid = root
use chroot = no    
max connections = 60    #最大连接数

[home_suse]      #这里就是定义需要同步的目录了
path = /home/wwwroot/suse    #具体文件目录地址
comment = www suse    #描述信息,可以任意填写
auth users = qxyrsy     #认证用户名,稍后会将该用户名写入rsyncd.pass 中

4.创建rsyncd.pass 用户密码文件

vim rsyncd.pass 
#用户名:密码
qxyrsy:123456
这里需要注意,rsyncd.pass 文件的权限必须设置为600 ,否则启动会报错的
chmod 600 rsyncd.pass

5.启动rsync 服务端,放行对应的端口

rsync  --daemon --config=/usr/local/rsync/etc/rsyncd.conf &
netstat -tunlp 可以看到监听端口为873
iptables -I INPUT -p tcp --dport 873 -j ACCEPT
service iptables save

6.客户端配置
centos 只要不是最小化安装的系统,一般都已经预装好了rsync ,可以直接使用,不过可以先查看下

rpm -qa | grep rsync
客户端只需要新建一个密码文件即可,并且只填密码
cd /root
vim rsyncd.pass

123456
保存退出,并且同样需要设置权限为600 
测试是否能够获取服务端的文件:
rsync -arP --password-file=/root/rsyncd.pass  qxyrsy@192.168.31.10::home_suse  /home/rsyntest

关于rsync 的常用命令可以参考该文章:《rsync同步常用命令》
  如果想把rsync 添加进init.d中实现 service rsyncd start 的方式,可以编写一下脚本,脚本这里是参考别人的,就不贴上了,github上提供rsyncd
自动触发同步采用rsync+inotify 实现,可以看该文章 rsync+inotify 实时文件同步

转载请注明:菜鸟运维 » rsync 服务器搭建

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址