1、在服务端编辑配置文件

  1. [root@game_intf ~]# more /etc/rsyncd.conf
  2. port=8730
  3. log file=/var/log/rsync.log
  4. pid file=/var/run/rsync.pid
  5. [abc]
  6. path=/tmp/123
  7. use chroot=yes
  8. max nonections=4
  9. read only=yes
  10. list=yes
  11. uid=root
  12. gid=root
  13. auth users=abc
  14. secrets file=/etc/rs.passwd

复制代码

说明:
配置文件 /etc/rsyncd.conf ,内容如下:
#port=873        #监听端口默认为873,也可以是别的端口
log file=/var/log/rsync.log  #指定日志
pid file=/var/run/rsyncd.pid  #指定pid
#address=192.168.0.10  #可以定义绑定的ip
以上部分为全局配置部分,以下为模块内的设置
[abc]    #为模块名,自定义
path=/tmp/123   # 指定该模块对应在哪个目录下
use chroot=true #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为true就限定为模块默认目录
max connections=4  # 指定最大可以连接的客户端数
read only=no #是否为只读,如果是no的话,客服端推送给服务端的时候不成功,这时候要改成yes
list=true #是否可以列出模块名    rsync --port 8730   172.16.37.139::  如果为yes的话会列出客户端所有的模块名字。  
uid=root #以哪个用户的身份来传输   
gid=root  #以哪个组的身份来传输
auth users=test #指定验证用户名,可以不设置,不设置默认不用密码,设置的话安全性更高点
secrets file=/etc/rsyncd.passwd #指定密码文件,如果设定验证用户,这一项必须设置,设定密码权限为400.
hosts allow=192.168.0.101 #设置可以允许访问的主机,可以是网段,多个Ip地址用空格隔开
密码文件/etc/rsyncd.passwd的内容格式为:username:password 
启动服务的命令是:rsync --daemon 
默认去使用/etc/rsyncd.conf这个配置文件,也可以指定配置文件 rsync --daemon --config=/etc/rsyncd2.conf,更改配置文件不用重启服务,即时生效。 

2、在客户端保存服务端的密码文件权限为400,以便脚本使用。

  1. [root@game_app ~]# more /etc/123.pass
  2. abc123

复制代码

3、把客户端的123文件下的内容放到服务端,这是服务端的read-only 要改成no,否则上传不成功。

  1. [root@game_app ~]# rsync -avPz  --port 8730 123/  --password-file=/etc/123.pass  abc@172.16.37.139::abc
  2. sending incremental file list
  3. ./
  4. anaconda-ks.cfg
  5. 1338 100%    0.00kB/s    0:00:00 (xfer#1, to-check=1/3)
  6. install.log
  7. 49733 100%   11.86MB/s    0:00:00 (xfer#2, to-check=0/3)
  8. sent 12379 bytes  received 49 bytes  24856.00 bytes/sec
  9. total size is 51071  speedup is 4.11

复制代码

4、在客户端查看服务端的模块名字,无需密码

  1. [root@game_app ~]# rsync --port 8730 172.16.37.139::
  2. abc

复制代码

5、服务端不需要同步给客户端的文件,加上--exclude=filename

  1. [root@game_intf 123]# rsync -avzP  --exclude=install.log --exclude=2 /tmp/123/ itv@172.16.37.140:/home/itv/123
  2. itv@172.16.37.140's password:
  3. sending incremental file list
  4. ./
  5. 3231231
  6. 0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=3/5)
  7. anaconda-ks.cfg
  8. 1338 100%    0.00kB/s    0:00:00 (xfer#2, to-check=2/5)
  9. as
  10. 0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=1/5)
  11. ppppppp/
  12. sent 1057 bytes  received 76 bytes  151.07 bytes/sec
  13. total size is 1338  speedup is 1.18

复制代码

6、rsync 参数选项详解。

  1. -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
  2. -r, --recursive 对子目录以递归模式处理
  3. -l, --links 保留软链结
  4. -p, --perms 保持文件权限
  5. -t, --times 保持文件时间信息
  6. -o, --owner 保持文件属主信息
  7. -g, --group 保持文件属组信息
  8. -D, --devices 保持设备文件信息
  9. --delete 删除那些DST中SRC没有的文件   。 会把目的文件中没有的文件删掉
  10. --delete-excluded 同样删除接收端那些被该选项指定排除的文件
  11. --delete-after 传输结束以后再删除
  12. --exclude=PATTERN 指定排除不需要传输的文件模式
  13. -P 等同于 --partial --progress 显示备份过程
  14. -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件

复制代码

7、
a、如果对端机器走的不是默认22端口的话,同步时候要加上 -e "ssh -p port"

  1. [root@game_intf 123]# rsync -avzP -s "ssh -p 22" /tmp/123/ itv@172.16.37.140:/home/itv/123

复制代码

b、如果是创建秘钥对,机器互相信任,需要加上 "--rsh=ssh -p port” 
rsync -av "--rsh=ssh -p port”  /dir1/ 192.168.0.101:/tmp/dir2/ 

rsync.conf详解的更多相关文章

  1. rsync指令详解

    rsync指令详解(更详细的看官方文档http://rsync.samba.org/ftp/rsync/rsync.html) [root@Centos epel]# rsync --help rsy ...

  2. (转)Rsync命令详解

    Rsync命令详解 原文:http://blog.51cto.com/irow10/1826249 说明: Rsync是linux/Unix文件同步和传送工具.用于替代rcp的一个工具,rsync可以 ...

  3. rsync参数详解

    Rsync的参数详细解释 -v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关,强制对文件传输进行校验-a, --archive 归档 ...

  4. rsync命令详解、rsync用ssh隧道方式同步

    ● rsync格式安装命令 yum install -y rsync与scp的区别:scp复制为完全覆盖,rsync为增量同步,只同步修改过的数据.rsync命令格式如下: rsync 选项 源文件 ...

  5. Redis:默认配置文件redis.conf详解

    转: Redis:默认配置文件redis.conf详解 # Redis配置文件样例 # Note on units: when memory size is needed, it is possibl ...

  6. Redis配置文件redis.conf详解

    一.Redis配置文件redis.conf详解 # Note on units: when memory size is needed, it is possible to specifiy # it ...

  7. linux离线部署redis及redis.conf详解

    一.离线部署redis 由于博主部署的虚拟机没有网络也没有gcc编译器,所以就寻找具备gcc编译器的编译环境把redis编译安装好,Copy Redis安装目录文件夹到目标虚拟机的目录下.copy时r ...

  8. yum的配置文件yum.conf详解

    说明:经过网上抄袭和自己的总结加实验,非常详细,可留作参考. yum的配置一般有两种方式:   一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下 ...

  9. /etc/security/limits.conf 详解与配置

    目录 一. /etc/security/limits.conf 详解 /etc/security/limits.conf 配置解析 /etc/security/limits.d/ 目录 二. ulim ...

随机推荐

  1. JS获取/设置iframe内对象元素、文档的几种方法

    1.IE专用(通过frames索引形象定位): document.frames[i].document.getElementById('元素的ID'); 2.IE专用(通过iframe名称形象定位): ...

  2. Ubuntu 12 编译安装 PHP 5.4 及 问题汇总

    参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: ############################ ...

  3. Mac Pro 软件收藏

    记录下Pro Mac中安装过的软件: 编号 软件名 功能说明 1 QQ   2 微信   3 搜狗输入法   4 Chrome 浏览器  Chrome 及其 插件“个性化设置”备份 5 360云盘   ...

  4. 用jQuery实现的一种网页内容呈现方式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. BZOJ4439——[Swerc2015]Landscaping

    0.题目: FJ有一块N*M的矩形田地,有两种地形高地(用'#'表示)和低地(用'.'表示) FJ需要对每一行田地从左到右完整开收割机走到头,再对每一列从上到下完整走到头,如下图所示   对于一个4* ...

  6. C++输入输出流

    一.C++输入输出流的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.程序的输入指的 ...

  7. 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题

    真的非常开心能收到这么多园友的关心,看到这么多的回复顿感身边处处充满爱.也非常感谢大家踊跃的帮我出谋划策,小女子在此有礼了! 我先来回答一下性别的问题(前面已经暴露了……),我是前端程序媛.大三时和男 ...

  8. STM32F103ZET6 用定时器级联方式输出特定数目的PWM(转载)

    STM32F103ZET6里共有8个定时器,其中高级定时器有TIM1-TIM5.TIM8,共6个.这里需要使用定时器的级联功能,ST的RM0008 REV12的P388和P399页上有说明对于特定的定 ...

  9. 关于在android 4.2.2 上运行runlmbench

    在剑锋的基础上加一些自己笔记,让自己更懂一些这个流程. 参考:http://www.cnblogs.com/zengjfgit/p/5731655.html runlmbench 是一款在linux ...

  10. 一个CMS案例实战讲解PHP代码审计入门

    前言 php代码审计介绍:顾名思义就是检查php源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞. 1.环境搭建: 工欲善其事必先利其器,先介绍代码审计必要的环境搭建 审计环境 window ...