zoukankan      html  css  js  c++  java
  • rsync远程数据同步工具的使用

    准备工作

    虚拟机1: 192.168.24.41, 用于搭建rsync服务器 
    虚拟机2: 192.168.26.68, 用于搭建rsync客户端 
    虚拟机1和虚拟机2均为centos7;

    1. 检查虚拟机1/2是否安装rsync,没有则安装

    rsync     //-bash: rsync: 未找到命令 
    yum search rsync 
    sudo yum install rsync.x86_64 -y 
    rsync    // 出现rsync的相关命令提示 

    2. rsync服务器

    2.1 创建rsync文件夹,配置文件和用户密码map文件, 
    :服务端和客户端的rsyncd.secrets均要求权限为600

    sudo mkdir /etc/rsyncd 
    sudo touch /etc/rsyncd/rsyncd.conf 
    sudo touch /etc/rsyncd/rsyncd.secrets 
    sudo touch /etc/rsyncd/rsyncd.motd 
    sudo chmod 600 /etc/rsyncd/rsyncd.secrets 
    // 删除rsyn默认配置文件,添加软链 
    sudo rm -rf /etc/rsyncd.conf 
    sudo ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf 

    2.2 修改sudo vim /etc/rsyncd/rsyncd.secrets,增加允许访问的用户和密码

    tt:1234 

    2.3 修改sudo vim /etc/rsyncd/rsyncd.conf

    uid = root 
    gid = root 
    pid file = /var/run/rsyncd.pid 
    port = 873              
    log file = /var/log/rsync.log 
    secrets file = /etc/rsyncd/rsyncd.secrets 
    
    [www] 
    comment = backup web 
    path=/home/work 
    read only = no 
    auth users=tt 
    • port: 873, rsync默认端口873;
    • log file: 日志文件的路径
    • secrets file 允许用户和密码的map表的位置
    • [www] module名称,相当于变量,代表了其下所属
    • path: 同步工具服务端的目标目录
    • read only : yes 表示只允许客户端从服务端读取,不允许客户端推送到服务端,而no则表示可以推送和拉取;
    • auth: [www]下允许使用的用户

    2.5. 创建 [www]下的目录

    sudo mkdir /home/work -p 

    2.6 启动rsync 服务器

    // 启动rsync服务器 
    sudo rsync --daemon --config=/etc/rsyncd.conf  
    // 查看rsync是否启动, 
    ps -ef | grep rsync 

    3. rsync客户端

    3.1. 检查是否按照rsync,没有则安装rsync; 
    3.2. 新建本地目录,在其中建立目录 t

    mkdir /home/work/test/t -p 

    3.3 将rsyncd用户的密码写入到rsyncd.secret,并修改rsyncd.secret的权限为600

    touch /home/work/test/rsyncd.secret  // 填写内容为1234 
    chmod 600 rsyncd.conf // 修改权限为600 

    3.4 在目录t下新建文件a.txt

    touch /home/work/test/t/a.txt

    3.5 往服务器推送文件

    rsync -avz t/ tt@192.168.24.41::www --password-file=/home/work/test/rsyncd.secret 
    • tt :【www】允许的用户;
    • 192.168.24.41: rsync服务器
    • www: module
    • /home/work/test/rsyncd.secret为tt用户的密码,与t/同级

    4. 问题

    备注: 遇到问题多去看服务器的 /var/log//var/log/rsync.log;日志文件的位置 
    4.1. 问题1:failed to create pid file /var/run/rsyncd.pid: File exists

    执行命令sudo rm -rf /var/run/rsyncd.pid,然后重新启动

    4.2. auth failed on module www

    客户端用户名没有通过module www的校验,可能是密码不匹配或者用户名不匹配;

    4.3 rsync: connection unexpectedly closed

    我是由于客户端创建文件使用sudo造成的,使用当前用户建立/test,/test/rsyncd.secret,/test/t三个文件路径即可。

  • 相关阅读:
    强化学习基础:蒙特卡罗和时序差分
    强化学习基础:基本概念和动态规划
    EM算法和高斯混合模型GMM介绍
    使用Tensorflow搭建自编码器(Autoencoder)
    神经网络介绍:梯度下降和正则化
    神经网络介绍:算法基础
    K均值聚类和DBSCAN介绍
    Zabbix安装过程中遇到的问题
    Docker容器操作基础命令(二)
    Docker的安装及基本用法(一)
  • 原文地址:https://www.cnblogs.com/zhaowinter/p/7788356.html
Copyright © 2011-2022 走看看