利用rsync同步多台机器文件到同一台

原创 2015年07月09日 15:36:22

一、什么是rsync

  rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件

二、搭建rsync服务器(服务端配置)

     鹅厂机器都自带了rsync,所以就只需要写一个配置文件rsyncd.conf即可,下面详细解释一下:

#运行rsync守护进程的用户
uid = root
#运行RSYNC守护进程的组
gid = root
#不使用chroot
use chroot = no
#最大连接数是4
max connections = 4
#pid文件存放位置
pidfile=rsyncd.pid
#锁文件存放位置
lockfile=rsync.lock
#日志文件存放位置
logfile=rsyncd.log
#定义一个model,在客户端连接时会用到,如果要同步多个目录,可以定义多个model
[video]
#要同步的目录
path =/data/tyronetao/face_recog/youtu_face/local_v
#忽略无关的IO错误
ignore errors
#只读,不能上传
readonly =true
#禁止查看文件列表
list =false
#允许访问服务的ip
#hosts allow = 192.168.1.200
#禁止访问服务的ip
#hosts deny = 0.0.0.0/32
#认证的用户名,系统必须存在的用户,如果你想用多个用户以,号隔开,比如auth users = easylife,r#oot;但是密码需要在passwd配置,不是系统的密码。
authusers= user_00
#认证用户密码文件,配置auth users的密码
secretsfile=passwd

 

密码文件passwd格式很简单,passwd的内容格式为:用户名:密码,比如我的就是

            user_00:taozhiwei

密码文件的文件属性设为root拥有, 且权限要设为600;所以执行以下操作

            chown root:root passwd #修改root拥有,
            chmod 600 passwd      #修改权限

运行rsync(root身份,否则无法读取passwd文件) :rsync --config=rsyncd.conf --daemon  --port=18088;

其中--port指定了端口,--config指定了配置文件所在路径,--daemon  指定了以守护进程的方式运行;

三、客户端连接并同步文件

  1. 手动输入密码:rsync -vzrtopg --port=18088 --delete --progress  user_00@127.0.0.1::video /data/tyronetao/face_check/video;其中user_00@127.0.0.1中的user_00就是服务端authusers里配置的,ip换成实际ip即可,然后是::video,video为服务端定义的一个model,video前是2个冒号;/data/tyronetao/face_check/video指定的是同步到本地的路径;-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示出详细的进度情况;--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除
  2. 自动密码方式:rsync -vzrtopg --port=18088 --delete --progress --password-file=/data/tyronetao/syn_rsync/password user_00@127.0.0.1::video /data/tyronetao/face_check/video;其中--password-file指定了密码文件password所在路径,password里只需包含服务器端auth user的密码即可,比如我保存的就是taozhiwei;客户端password文件属性也要设为root拥有, 且权限要设为600;执行如下操作:          chown root:root passwd #修改root拥有,
              chmod 600 passwd      #修改权限

        Rsync常见错误请参考:  http://www.tuicool.com/articles/me2IFjf

        更多细节参考:http://blog.chinaunix.net/uid-12306154-id-2181530.html

相关文章推荐

Linux下利用rsync实现多服务器文件同步

http://hx100.blog.51cto.com/44326/331312 目标:多服务器文件同步 环境:2台centos5.5 web:10.80.11.243 backu...

32位和64位操作系统及软件的区别

下面,我用最简洁的文字尽可能作最详尽的回答:两者之间存在的“五大不同”。与此同时,着重说明Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什...
  • sjmnwo
  • sjmnwo
  • 2012年08月14日 23:19
  • 4984

rsync成功实现多台Windows文件同步

  • 2011年11月22日 17:30
  • 96KB
  • 下载

rsync+inotify实现多台web数据动态同步

ps: 最新的可以从http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz下载 #wget http://rsync.samba.org/ft...

在同一MySQL机器上做多台MySQL主机的slave端

在生产中,为了节省空间,可能多台MySQL服务器的slave端都在同一主机上,那就需要对slave端进行一些特殊的配置才行。以下 是我在虚拟机上进行的模拟步骤。第一步:装虚拟机 三台虚拟机的操作系统都...

利用rsync同步备份文件

利用rsync服务同步备份数据
  • wusilen
  • wusilen
  • 2017年01月06日 19:59
  • 1128

利用rsync搭建服务器之间文件同步

    由于外网运行系统需要同时好几台机器提供服务,这样就有个问题是程序代码发布后,这些服务器怎么能比较及时的更新代码。这样就需要一个服务器之间文件同步的机制。在Unix下有一个比较好的工具rsync...
  • waden
  • waden
  • 2011年05月25日 17:16
  • 2043

C语言多线程的应用--局域网中多台计算机对同一文件读写

项目背景:生产制造型公司有多台生产测试设备同时运行,测试中产品错误代码记录在本地,现在需要将多台设备测试过程中出现的产品错误代码保存在局域网某台主机的公共文           件中 步骤1: 测...
  • kelery
  • kelery
  • 2016年05月26日 09:58
  • 412

同一台PC支持3台或者多台KINECT

  • 2014年10月19日 12:04
  • 31.76MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用rsync同步多台机器文件到同一台
举报原因:
原因补充:

(最多只允许输入30个字)