一、rsync服务器端架设
    1:rsync下载  https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
         cd /opt/software
         wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
         tar -zxvf rsync-3.1.2.tar.gz

    2:安装rsync
        cd rsync-3.1.2
        ./configure --prefix=/usr/local/rsync
        make
        make install
(注:若提示缺少或依赖GCC  用 yum install gcc* 安装)


    3:配置rsync-server
    3.1:配置rsyncd.conf    (手动创建    touch /usr/local/rsync/rsyncd.conf )
        vim /usr/local/rsync/rsyncd.conf

### 全局参数 ###

port=873
motd file=/usr/local/rsync/rsyncd.motd
log file=/usr/log/rsyncd.log
pid file=/var/run/rsyncd.pid

### 模块参数 ###

[sharename]
path=/home/test     (要同步的目录路径)
use chroot=true        (hoch设的是false)
uid=0
gid=0
read only=false
#exclude=/readme.txt /runtime
auth users=star-v-app        (超级用户)
secrets file = /usr/local/rsync/rsyncd.secrets
hosts allow = 220.180.29.0/255.255.255.0
timeout = 600

    3.2:配置rsyncd.secrets(手动创建    touch /usr/local/rsync/rsyncd.secrets ) //此文件权限必须设置:600
     vim /usr/local/rsync/rsyncd.secrets
        star-v-app:123

 chmod 600 /usr/local/rsync/rsyncd.secrets   (此文件权限必须设置:600   客户端也必须这样,不然会报错)

    3.3:配置rsyncd.motd  (手动创建  touch /usr/local/rsync/rsyncd.motd )
      vim /usr/local/rsync/rsyncd.motd
           welcome use rsync service

    3.4:启动rsyncd
          /usr/bin/rsyncd --daemon --config=/usr/local/rsync/rsyncd.conf

    3.5:查看rsyncd进程
      ps aux | grep rsyncd

    4.xinet方式
        1).修改 /etc/services,加入以下内容,如果已经有可以不加,如果端口改了,需要改掉 873 端口为指定端口

rsync  873/tcp  # rsync
rsync  873/udp  # rsync

     2).修改 /etc/xinetd.d/rsync,主要是要打开rsync這個daemon, 一旦有rsync client要连接時, xinetd会把它转介給 rsyncd(port 873)。
复制代码

service rsync
{
    disable = no
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon --config=/etc/rsyncd/rsynd.conf
    log_on_failure  += USERID
}

  3).重启 xinetd
service xinetd restart

注意打开服务器防火墙的873端口。


二、客户端
       1。创建密码文件,/etc/rsyncd.passwd,并修改为 600 权限
               touch /etc/rsyncd.passwd
               chmod 600 /etc/rsyncd.passwd

  /etc/rsyncd.passwd 其内密码需要和服务端内/etc/rsyncd/rsyncd.passwd指定用户的密码保持一致。只写入密码,不能写用户名

        2.客户端连接命令:
rsync -avtop --progress --password-file=/etc/rsyncd.passwd  rsync://star-v-app@134.23.195.0/hometest  /data3/snapshot/

        3.把连接命令写稿脚本,加入定时任务。
vim /opt/dingshi
#!/bin/bash
rsync -avtop --progress --password-file=/etc/rsyncd.passwd  rsync://star-v-app@134.23.195.0/hometest  /data3/snapshot/

保存退出。
chmod 777 /opt/dingshi

        4.加入定时任务(每分钟执行一次)
crontal -e
*/1  *  *  *  *  /opt/dingshi


另:想第秒钟同步一次用以下脚本

#!/bin/bash
i=1
while (($ido
rsync -avtop --progress --password-file=/etc/rsyncd.passwd rsync://star-v-app@54.223.195.0/hometest /data3/snapshot/
    let "i++"
    sleep 1
done


12-10 03:13