linux下通过rsync同步数据

好久没来写点东西了,最近做一项目时有一功能是后台创建模块然后预览效果,涉及到的问题就是两套不同的程序,两台不同的主机(当然也可以是一台主机)数据同步问题,说白了就是将后台创建的模块文件推送到前台相应目录下。

 

解决办法就用到了linux的shell命令rsync,说实话测试了好多次才成功,所以现在以文字的形式来记录,自己备忘也希望可以帮助正在做这种功能而无从下手的同学。

 

环境:两台linux主机。我使用的192.168.84.130(服务端),192.168.84.134(客户端)

使用命令:/user/bin/rsync

 

一般现在的linux都自带rsync命令,如果没有请自行安装。(http://rsync.samba.org/)

 

服务器端也就是192.168.84.130需要配置/etc/rsyncd.conf,一般这个文件是没有的,需要手动创建,编辑内容:

#
# Version: 1.0
# Maintainer :wangzhanu@163.com <Network System Dept.>
#
# Rsync daemon configuration file.
#
######公共定义#############
uid = wangzhan #目录的创建者
gid = wangzhan #目录所属的组
use chroot = no
max connections = 100
pid file = /var/run/rsyncd.pid
log file = /var/log/rsync
list = no #不允许列文件
strict modes = no

 

######定义自己需要的模块##############
[publish_zt] #认证的模块名,在client端需要指定
uid = wangzhan #目录的创建者
gid = wangzhan #目录所属的组
path = /data1/www #需要做镜像的目录,比如客户端传文件到服务器端,就会进到这个目录
use chroot = no
read only = no
list  = yes
hosts allow = 192.168.84.134 #允许的ip地址域,就是客户端要连接服务器,必须在此把客户端ip写到此处

 

保存退出,配置文件定义ok。

 

然后启动rsync

root@ubuntu:/data1/www#rsync --daemon --config=/etc/rsyncd.conf

接下来就是在服务器端创建镜像保存目录,也就是rsyncd.conf中定义的path目录:/data1/www

这里有一个关键点就是www目录的拥有者以及组必须是:chown wangzhan:wangzhan  /data1/www

你问我为什么?因为在rsyncd.conf中的[publish_zt]模块中已经定义了uid和gid就是wangzhan。

服务器端的工作完成了,现在就是客户端了。

 

1.客户端推送文件到服务器端

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

wangzhan@ubuntu:/data1/www$ /usr/bin/rsync -rut --exclude=/.* /data1/www/xx.php 192.168.84.130::publish_zt/guoqing/

就是将客户端/data1/www中的xx.php文件推送到服务器端/data1/www/guoqing/xx.php,用到程序当中的话,xx.php是

可以变化的,guoqing这个文件夹也可以使变化的,也就是说在程序当中改动他们就可以实现推送不同的文件到服务器端。

 

2.从服务器端下载文件到客户端

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

wangzhan@ubuntu:/data1/www$ /usr/bin/rsync -ave ssh wangzhan@192.168.84.130:/data1/www/ /data1/www/

就是将服务器端/data1/www/目录下的文件下载到客户端/data1/www/目录中

 

文到此处结束,请各位同学自行测试,如发现问题请不吝赐教!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值