Rsync配置 

一.Rsync简介

Rsync(remote sync)如其名字一样,是一款Linux下常用的远端同步工具,虽说是远端同步工具,其实还是可以用来同步本地数据的。

二.Rsync特性

  1. 在同步时,可以很容易的同步远端目录结构。
  2. 可以很容易的做到,保持原文件的权限,时间,硬链接。
  3. 除第一次同步时 rsync 会复制全部内容以外,之后的每一次同步都只传输修改过或缺少的文件。
  4. rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以节省带宽。
  5. 支持以scp,ssh等方式进行传输文件。
  6. 在没有Rsync服务器的情况下,依然可以使用rsync命令行工具进行同步操作。

三.Rsync的安装

    由于笔者使用的服务器系统是Ubuntu 10.04,Rsync是默认安装的,如果Rsync没有安装的话,可以使用以下命令进行安装。




  1. sudo apt-get install rsync    //包管理器为apt的,都可以使用这条命令进行安装。 
  2. yum install rsync -y //包管理器为yum的,都可以使用这条命令进行安装。

四.Rsync服务的配置

    到这里如果只是使用rsync命令行工具的话,其实已经可以使用了,如果是想配置rsync服务的话,请继续往下看

编辑配置文件




  1. vim /etc/rsyncd.conf          //此文件默认是不存在的,因为每个人使用rsync的方法不同,
  2.                               //所以rsync在安装完之后并没有创建配置文件   

配置文件模板如下(根据个人需求进行更改):




  1. uid = root
  2. gid = root
  3. use chroot = no
  4. max connections = 20
  5. pid file
  6. lock file
  7. log file
  8.  
  9. [server-logs]                      //module-name,同步的时候需要使用  
  10. path
  11. readonly = true
  12. hosts allow = 10.0.0.0/24          //允许访问的地址段,也可以是单台主机 
  13. deny hosts = 10.0.0.0/24           //禁止访问的地址段,也可以是单台主机 
  14. list = true
  15. auth users = calvin
  16. secrets file= /etc/rsyncd.secrets  //认证文件,该文件权限必须是600  

创建认证文件




  1. echo "user:passwd" /etc/rsyncd.secrets //文件的路径需要与”/etc/rsyncd.conf“中secrets file的路径对应
  2.                                                    //注意:rsync clint端并不需要写用户名 

启动rsync服务




  1. rsync --daemon --port 38873 --config=/etc/rsyncd.conf   
  2. // --daemon是以守护进程的模式启动   
  3. // --port是rsync使用的监听端口,默认是873   
  4. // --config是指定rsync的配置文件  

到这,rsync服务已经部署好了。

五.Rsync客户端的配置

客户端在安装好rsync的同时,只需创建认证文件既可使用




  1. echo "passwd" >
  2. chmod 600 /etc/rsyncd.secrets                    //该文件一定要是600权限,不然会出错 

同步命令 




  1. rsync --password-file='/etc/rsyncd.secrets'
  2.  
  3. // --password-file 指定验证文件  
  4. // --avP为rsync常用参数,会在下面进行介绍  
  5. // --port指定监听端口   
  6. // calvin为用户名   
  7. // 10.2.31.30为主机ip  
  8. // server-logs为主机定义的moudule-name  
  9. // /var/logs目的路径  

六.Rsync常用参数 

-avP = -a --verbose --partial --progress

-a                       归档模式,表示以递归方式传输文件,并保持所有文件属性

--verbose           显示同步时的信息

--partial              保留那些因故没有完全传输的文件,以是加快随后的再次传输

--progress          显示同步时的进度信息

--files-from        同步列表中的文件

--dry-run           显示需要同步的数据,并不真正的同步

-e                      指定远端的shell程序

--exclude           指定需要排除的文件,支持正则表达式

 


转载于:https://blog.51cto.com/calvinyz/1149984