zoukankan      html  css  js  c++  java
  • rsync.conf详解

    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/ 
  • 相关阅读:
    java Exception in thread "main" java.lang.NoClassDefFoundError: main (wrong name: pm/main)
    javac 编译java文件提示: 程序包com.mysql.jdbc不存在
    Java开发笔记(二十四)方法的组成形式
    Java开发笔记(二十三)数组工具Arrays
    Java开发笔记(二十二)神奇的冒号
    Java开发笔记(二十一)二维数组的扩展
    Java开发笔记(二十)一维数组的用法
    Java开发笔记(十九)规律变化的for循环
    Java开发笔记(十八)上下求索的while循环
    Java开发笔记(十七)各得其所的多路分支
  • 原文地址:https://www.cnblogs.com/jtlin/p/6018776.html
Copyright © 2011-2022 走看看