zoukankan      html  css  js  c++  java
  • rsync配置和同步数据

    rsync的搭建配置
    1.环境和配置文件

    rsyncd.conf(主配置文件)
    rsyncd.secrets(密码文件)
    pc1:192.168.0.1rsync的服务器,配置rsyncd.conf文件,设置模块名字为test
    pc2:192.168.0.200,rsync的客户端

    2.源码安装省略和主配置文件

    vim /etc/rsyncd.conf
    
    transfer logging = yes
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.log
    lock file = /var/run/rsync.lock
    port = 873
    address = 192.168.0.1
    uid = nobody
    gid = nobody
    use chroot = no 
    read only = yes
    max connections =10
    [test]
    path = /test
    ignore errors
    #exclude = test/
    auth users = tom, jerry
    secrets file = /etc/rysncd.secrets
    hosts allow = 192.168.0.0/255.255.255.0
    hosts deny=*
    
    
    motd file = /etc/rsyncd.motd    
    #设置服务器信息提示文件,在该文件中编写提示信息
    transfer logging = yes    
    #开启rsync数据传输日志功能
    log file = /var/log/rsyncd.log    
    #设置日志文件名,可通过log format参数设置日志格式
    pid file = /var/run/rsyncd.log    
    #设置rsync进程号保存文件名称
    lock file = /var/run/rsync.lock    
    #设置锁文件名称
    port = 873    
    #设置服务器监听的端口号,默认是873
    address = 192.168.0.230    
    #设置本服务器所监听网卡接口的ip地址
    uid = nobody    
    #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody
    gid = nobody    
    #设置进行数据传输时所使用的组名或GID号,默认使用nobody
    #rsync默认是在nobody用户下运行的,但是我们为了以后同步时不为各种权限的事情烦恼,就让其在root用户下运行
    #若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。
    #但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。 use chroot
    = no read only = yes #是否允许客户端上传数据,yes表示不允许 max connections =10 #设置并发连接数,0表示无限制 [common] #自定义模块名,rsync通过模块定义同步的目录,可定义多个 comment = web content #定义注释说明字串 path = /common #同步目录的真是路径通过path指定 ignore errors #忽略一些IO错误 #exclude = test/ #exclude指定common目录下某个目录可以不同步数据 auth users = tom, jerry #设置允许连接服务器的账户,此账户可以是系统中不存在的用户 secrets file = /etc/rysncd.secrets #密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效 hosts allow = 192.168.0.0/255.255.255.0 #设置哪些主机可以同步数据,多ip和网段之间使用空格分隔 hosts deny=* #除了hosts allow定义的主机外,拒绝其他所有 list = false #客户端请求显示模块列表时,本模块名称是否显示,默认为true

    三. 创建密码文件,防火墙设置,客户端和服务器端都要做如下操作

    echo "tom:123" > /etc/rsyncd.secrets
    echo "jerry:123" >> /etc/rsyncd.secrets
    
    chmod 600 /etc/rsyncd.secrets
    rsync --daemon    
    # --daemon表示后台执行,客户端开启rsync不需要--daemon选项。
    #如果rsync的配置文件不在/etc目录下或者rsync配置文件名不为rsyncd.conf,
    #那么我们在启动rsync服务时,就要手工加上该配置文件的完整路径。方法如下:
    #rsync --daemon --config=/etc/rsyncd.conf
    rsync --daemon --help
    echo "/usr/bin/rsync --daemon" >> /etc/rc.local    
    #开机启动rsync服务
    firewall-cmd --permanent --add-port=873/tcp    
    #添加防火墙规则,允许873端口的数据访问
    

     四. 客户端同步数据

    yum -y install rsync
    rsync -vzrtopg --progress tom@192.168.0.230::test /xxx     
    #通test模块指定的/test目录下的文件拷贝到本客户端的/xxx目录下

    参数说明
    
    v:显示详细信息
    z:传输过程中对数据进行压缩
    r:递归
    t:保留修改时间属性
    o:保留文件所有者属性
    p:保留文件权限属性
    g:保留文件所属组属性
    a:归档模式,主要保留文件属性,等同于-rlptgoD
    
    --progress:显示数据传输的进度信息
    --password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600
    --delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数
    --list-only:仅列出服务器模块列表,需要rsync服务器设置list=true
    
    取服务器的ip地址
    ifconfig eth1|grep "inet addr"|awk '{print $2}'|cut -d: -f2
    

     *****************rsync的使用**************

    cat /etc/rsyncd.conf
    
    uid = root
    gid = root
    user chroot = no
    max connections = 200
    timeout = 600
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsyncd.lock
    log file = /var/run/rsyncd.log
    [backup]
    path = /backup/
    ignore errors
    read only = no
    list = no
    hosts allow = 192.168.0.200/255.255.255.0
    auth users = test
    secrets file = /etc/rsyncd.password
    [www]
    path = /www/
    ignore errors
    read only = no
    list = no
    hosts allow = 192.168.0.200/255.255.255.0
    auth users = apache
    secrets file = /etc/rsyncd.password
    
    rsync的七个命令格式:如下:
    
    1)rsync [OPTION]... SRC [SRC]... DEST
    2)rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
    3)rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
    4)rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
    5)rsync [OPTION]... [USER@]HOST:SRC [DEST]
    6)rsync [OPTION]... [USER@]HOST::SRC [DEST]
    7)rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
    这七个命令格式就是代表rsync六种不同的工作模式,其中第四种和第七种模式没有多大的区别。在这几种模式中第三种和第六种模式是我们经常使用的,特别是第三种模式。
    这六种模式总体上可以用两个词进行区分:推送、拉取。
    推送就是在客户端上执行rsync命令,目的是把客户端需要同步的文件推送到服务器上。
    拉取也是在客户端上执行rsync命令,目的是把服务器上的文件拉取到本地。
    注意:无论是推送和拉取,rsync命令都是在客户端执行,只是命令的格式不同而已。
    服务端192.168.0.1
    客户端192.168.0.200
    
    1) rsync [OPTION]... SRC [SRC]... DEST
    同步本地文件,从一个目录同步到另外一个目录。如:rsync -avz /data /backup,表示把本地/data目录下的文件同步到本地/backup目录下。
    
    2) rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
    使用一个远程shell程序(如rsh、ssh)来实现把本地的文件同步到远程机器上。此种方式属于推送方式。如:rsync -avz /data test@192.168.199.247:/backup,
    表示把本地/data目录下的文件同步到服务器192.168.199.247的/backup目录下。
    
    
    3) rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
    把本地的文件同步到远程服务器上,其中DEST表示的是rsync服务器的认证模块名。此种方式属于推送方式。如:
    rsync -avz /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password,
    表示把本地/data目录下的文件同步到服务器的backup模块下path路径下。
    在客户端192.168.0.200运行该命令。
    rsync -avz --delete --progress /data test@rsync服务端ip::backup --password-file=/etc/rsyncd.password
    
    
    4) rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
    列出远程机器的文件列表。这类似于ls命令,不过只要在命令中省略掉本地机信息即可。如:
    rsync -v rsync://test@192.168.199.247/backup,表示在本机列出服务器192.168.199.247的/backup目录下的内容,如下:
    
    5) rsync [OPTION]... [USER@]HOST:SRC [DEST]
    把远程机器的文件同步到本地,此种方式属于拉取方式。如:
    rsync -avz test@192.168.199.247:/backup /data,表示把192.168.199.247的/backup目录下文件同步到本地/data目录下。
    
    
    6) rsync [OPTION]... [USER@]HOST::SRC [DEST]
    把远程机器的文件同步到本地,此种方式属于拉取方式。如:
    rsync -avz test@192.168.199.247::backup --password-file=/etc/rsyncd.password /data,
    表示把192.168.199.247的backup模块path路径下的文件同步到本地/data目录下。
  • 相关阅读:
    [2016北京集训试题15]项链-[FFT]
    [agc008E]Next or Nextnext-[dp+思考题]
    [agc011E]Increasing Numbers-[思考题]
    [2016北京集训试题14]股神小D-[LCT]
    [2016北京集训试题6]mushroom-[bitset]
    [2016北京集训试题6]魔法游戏-[博弈论-sg函数]
    [arc081F]Flip and Rectangles-[黑白染色]
    [arc072F]Dam-[单调队列]
    【CF787D】遗产(Legacy)-线段树-优化Dijkstra(内含数据生成器)
    【CF373C】计算袋鼠是愉快的(Counting Kangaroos is Fun)-贪心
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/9850472.html
Copyright © 2011-2022 走看看