zoukankan      html  css  js  c++  java
  • rsync 服务器配置过程

    rsync的原理和相关算法不赘述,资料很多

    1、准备两台机器并确保都已经安装rsync

    a机器:192.168.1.150 ,用作客户端测试 b机器:192.168.1.151用作server端

    先介绍个命令,lsof -i :873 检查rsyn服务是否启动,rsync作为守护进程运行时会默认监听873端口

    为了试验顺利关闭iptables 和selinux

    2、在b机以守护进程方式启动作为server端

    有两种方式启动服务,一个是直接rsync --daemon,一个是通过xinetd 启动,如果要通过xinetd启动的话,需要先修改配置文件/etc/xinetd.d/rsync

    如下所示:

    service rsync
    {
    disable = no #这里原来是yes 改为no,只需修改这一行即可
    flags = IPv6
    socket_type = stream
    wait = no
    user = root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID
    }

    2、创建/etc/rsyncd.conf文件,系统默认没有这个文件,此文件是rsync作为服务端使用的主要配置文件

    内容如下:

    uid = nobody
    gid = nobody

    use chroot = yes #这里使用yes或者no都能正确运行,具体差别可去官网查阅或者google
    max connections = 4
    pid file = /var/run/rsyncd.pid #自行指定
    lock file = /var/run/rsync.lock #自行指定
    log file = /var/log/rsyncd.log  # 自行指定,这三个文件路径和名字可以随便定

    [backup]
    path = /data/backup/ #server端用来接收数据的实际路径,注意连接时使用的是上面中括号中的名字backup
    read only = true #这里可以也可以改为false 最好是true,更安全
    list = false
    hosts allow = 192.168.1.0/24 #允许连接的ip范围
    auth users = test #允许连接的用户名
    secrets file = /etc/rsyncd.password #验证用的用户名和密码,格式为test:test, 路径和名字可以自定义

    然后写入用户名密码 echo "test:test" >/etc/rsyncd.password 并设定权限 chmod 600 /etc/rsyncd.password

    修改hosts文件,vi /etc/hosts,增加一条192.168.1.150 host01.argb.com,我测试时如果没有这个设置会报一下错误:

    name lookup failed for 192.168.1.150: Name or service not known
    connect from UNKNOWN (192.168.1.150)

    应该是因为内网没有dns服务器的原因。

    至此服务器端设置基本完成,启动rsync服务: rsync --daemon

    注意:我看有些配置示例上有 ignore errors 这条,但是我实际验证时日志显示这句配置不合法:

     params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors

    不知是不是版本问题。

    3、进行client端设置

    客户端设置很简单,只要配置一个密码文件即可,echo "test">/etc/rsyncd.password 

    修改文件权限 chmod 600 /etc/rsyncd.password

    配置完成

    ok,连接测试 

    rsync -vzrtopg --progress /home/data/test test@192.168.1.151::backup --password-file=/etc/rsyncd.password

    done!

    rsync可以跟 inotify实现数据的实时备份。

  • 相关阅读:
    POJ 3320 Jessica's Reading Problem
    引用参数和传值参数的区别
    IBM 的数据库Informix 常用代语法
    设计模式之原型模式
    UBoot中使用tftp下载文件出现错误TFTP error: 'Access violation' (2)的解决办法
    printf格式控制符的完整格式
    如何打印hostent结构体中的所有数据
    Informix 数据库客户端 dbvisualizer SQL Commander 乱码解决方案
    设计模式之模版方法模试
    nfs: server 192.168.37.200 not responding, still trying的解决办法
  • 原文地址:https://www.cnblogs.com/argb/p/3442531.html
Copyright © 2011-2022 走看看