zoukankan      html  css  js  c++  java
  • rsync 配置

    1.安装rsync和配置文件
    root@localhost ~]# yum -y install rsync  #安装rsync服务
    
    #CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件在 /etc/xinetd.d/rsync。
    [root@localhost ~]# vim /etc/xinetd.d/rsync service rsync { disable = yes flags = IPv6 socket_type = stream wait = no #yes改为no user = root server = /usr/bin/rsync server_args = --daemon #在后面添加 rsync 的服务选项 log_on_failure += USERID }[root@localhost ~]# chkconfig rsync on #添加开机启动1.配置rsyncd.conf主配置文件:
    [root@localhost ~]# mkdir /etc/rsyncd #创建独立文件夹创建rsync服务的文件 [root@localhost ~]# touch /etc/rsyncd/rsyncd.conf #创建主配置文件 [root@localhost ~]# ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf #创建软连接到/etc/下
    [root@localhost var]# vim /etc/rsyncd.conf uid = root #以什么用户启动 gid = root #以什么组启动 use chroot = no #若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件。 max connections = 2 #指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。 motd file = /etc/rsyncd.motd #指定一个消息文件,当客户连接服务器时该文件的内容显示给客户,相当于欢迎界面 strict modes = yes #指定是否监测口令文件的权限。若为 true 则口令文件只能被 rsync 服务器运行身份的用户访问,其他任何用户不可以访问该文件。 port = 873 #指定 rsync 守护进程监听的端口号。 由 xinetd 运行时将忽略此参数,使用命令行上的–port 选项替代。 pid file = /var/run/rsyncd.pid #rsync 的守护进程将其 PID 写入指定的文件。 lock file = /var/run/rsync.lock #指定支持 max connections 参数的锁文件。 log file = /var/log/rsyncd.log #指定 rsync 守护进程的日志文件,而不将日志发送给 syslog。 read only = yes #指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传。 list = no #指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块 hosts allow = 192.168.199.0/24 #同意访问客户机hosts deny = * #拒绝访问客户机 [test] # 模块名字,自己命名 path = /test #指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的。 comment = test #给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。 ignore errors #指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。 read only = no #指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传。 write only = no #指定是否允许客户下载文件。若为 true 则不允许下载;若为 false 并且服务器目录也具有读权限则允许下载。 list = yes #指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块。 auth users = root #指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。secrets file = /etc/rsyncd.passwd #指定一个 rsync 认证口令文件。只有在 auth users 被定义时,该文件才起作用。 [etc] path = /etc comment = etc ignore errors read only = no write only = no list = yes auth users = root secrets file = /etc/rsyncd.passwd
    2.配置启动文件
    [root@localhost rsyncd]# vim rsyncd.passwd  #编辑认证文件
    root:123123   #用户名:密码。注意这个不是系统用户,只是rsync用户。所以不用useradd。
    [root@localhost rsyncd]# chmod 600 rsyncd.passwd #修改认证文件权限为600,否则报错。
    [root@localhost rsyncd]# vim rsyncd.motd#编辑欢迎文件,修改权限为600.
    +++++++++++++++++++++++++++++++++++++++++++++++ Welcome to my rsync service! +++++++++++++++++++++++++++++++++++++++++++++++ [root@localhost ~]# /usr/bin/rsync –daemon #启动rsync [root@localhost ~]# netstat -anp | grep 873 #查看是否启动 tcp 0 0 :::873 :::* LISTEN 5244/xinetd
    [root@localhost ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT #添加iptables开放873端口
    [root@localhost rsyncd]# rsync --list-only root@192.168.199.122:: #显示列表 +++++++++++++++++++++++++++++++++++++++++++++++ Welcome to my rsync service! +++++++++++++++++++++++++++++++++++++++++++++++ test test etc etc

    3.添加开机启动

    [root@localhost test]# vim /etc/rc.local  #编辑
    /usr/bin/rsync –daemon  #添加

    4.参数场景配置

    rsync中的参数   
    -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD  
    -r 是递归 -l 是链接文件,意思是拷贝链接文件;
    -p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件; -z 传输时压缩;  
    -P 传输进度;  
    -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;  
    -e ssh的参数建立起加密的连接。 -u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时  
    --progress是指显示出详细的进度情况   --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致   --password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
    方法1:
     [root@localhost test]# rsync -avzP root@192.168.199.133::test /test  #从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式
    +++++++++++++++++++++++++++++++++++++++++++++++
    Welcome to my rsync service!
    +++++++++++++++++++++++++++++++++++++++++++++++
    Password:
      
    方法2 
    [root@localhost test]# rsync -avzP /test root@192.168.199.133::test  #从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。 
    +++++++++++++++++++++++++++++++++++++++++++++++
    Welcome to my rsync service!
    +++++++++++++++++++++++++++++++++++++++++++++++
    Password:
     
    方法3  免密备份
    
    客户端定义认证文件:
    [root@localhost test]# vim /etc/rsyncd/rsyncd.passwd
    123123  #直接指定密码不用指定用户名
    
    [root@localhost test]# rsync -vzrtopg root@192.168.199.133::test /test --password-file=/etc/rsyncd/rsyncd.passwd 
    +++++++++++++++++++++++++++++++++++++++++++++++
    Welcome to my rsync service!
    +++++++++++++++++++++++++++++++++++++++++++++++
    receiving incremental file list
    skipping non-regular file "back/var/mail"
    skipping non-regular file "back/var/lib/gdm/.pulse/997d870c33d694e1e7465ed300000012-runtime"
    back/var/cache/yum/x86_64/6/updates/
    back/var/cache/yum/x86_64/6/updates/78c4a5d42daa4bba56936a0d2d6b0bd8efc776617ef029f207d4d929ebe08541-other.sqlite
    方法4  备份至本地
    [root@localhost test]# rsync -vzrtopg --progress /test/ /tmp/test/
     
    定义定时备份机制:
    [root@localhost test]# crontab -e
    00 20 * * * /usr/bin/rsync -vzrtopg --progress /test/ /tmp/test/   #每天晚上8点
    
  • 相关阅读:
    python 并发编程 多线程 event
    python 并发编程 多线程 定时器
    python 并发编程 多线程 信号量
    linux top 查看CPU命令
    python 并发编程 多线程 GIL与多线程
    python 并发编程 多线程 死锁现象与递归锁
    python 并发编程 多线程 GIL与Lock
    python GIL全局解释器锁与互斥锁 目录
    python 并发编程 多线程 GIL全局解释器锁基本概念
    执行python程序 出现三部曲
  • 原文地址:https://www.cnblogs.com/ligao/p/5967872.html
Copyright © 2011-2022 走看看