准备工作

虚拟机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三个文件路径即可。

rsync远程数据同步工具的使用的更多相关文章

  1. Linux系统备份还原工具4(rsync/远程数据同步工具)

    rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...

  2. rsync 远程数据同步工具详解

    rysnc 命令用法:(OPTION-参数,USER-用户,HOST-IP地址,SRC-复制源位置,DEST-复制目标位置)Shell拉:rsync [OPTION] [USER@]HOST:SRC ...

  3. linux之rsync远程数据同步备份

    rsync服务是一种高效的远程数据备份的工具,该服务的port号为873, 是Liunx下的一种非独立服务.由xinetd超级服务管理,取代监听873port. 长处: 1.rsync能够利用ssh和 ...

  4. Windows远程数据同步工具cwRsync

    1. cwRsync简介cwRsync是Rsync在Windows上的实现版本,Rsync通过使用特定算法的文件传输技术,可以在网络上传输只修改了的文件.cwRsync主要用于Windows上的远程文 ...

  5. rsync---远程数据同步工具

    rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而 ...

  6. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  7. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  8. Linux系统——Rsync数据同步工具

    Rsync的优点及缺点 优点:类似cp命令.scp命令,但rsync为增量复制工具 缺点:针对大文件,效率非常高(打包再比对),针对小文件,效率非常低. Rsync作用 (1)可使本地和远程两台主机之 ...

  9. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

随机推荐

  1. Apache服务器处理404错误页面技巧

    1.打开Apache目录,查找httpd.conf文件 2.打开httpd.conf文件,找到<Directory "    "></Directory>这 ...

  2. String的replace和replaceAll

    replace(CharSequence target, CharSequence replacement) 这里CharSequence是一个接口 实现类包括CharBuffer, Segement ...

  3. Writing Science 笔记 6.19

    1.练习由三个部分组成:写短文,反复修改:分析别人的文章是怎么写的:练习句子结构,如何用词. 2.写作的目的不在于发表而在于能够给人以灵感从而使文章得到更多的引用. 3.写得清楚,你必须清楚地思考,无 ...

  4. Java源码学习:HashMap实现原理

    AbstractMap HashMap继承制AbstractMap,很多通用的方法,比如size().isEmpty(),都已经在这里实现了.来看一个比较简单的方法,get方法: public V g ...

  5. apollo实现c#与android消息推送(一)

    之前做了c#推送消息到手机端,限于网络要求,不能使用百度等现成的推送,查了许多资料,七拼八凑终于凑齐,记录下来,即是复习也是希望对来者有所帮助. 我开发的环境是windows,使用java开发的Apa ...

  6. python堆栈实现

    百度百科定义: 堆栈是一个在计算机科学中经常使用的抽象数据类型.堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先出(LIFO)队列. 堆栈中定义了一些操作 ...

  7. eclipse安装lombok插件问题解决

    在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO.简单的说,就是 ...

  8. Python一维数据分析

    1.Numpy数组 numpy的数组只能存放同一种数据类型,使用的方式和Python列表类似 1.1 声明: import numpy as np countries = np.array([ 'Af ...

  9. 史上前端面试最全知识点(附答案)---html & js & css

    史上前端面试最全知识点(附答案) 一.html & js & css 1.AMD和CMD是什么?它们的区别有哪些? AMD和CMD是二种模块定义规范.现在都使用模块化编程,AMD,异步 ...

  10. zoj 1526 Big Number 数学

    Big Number Time Limit: 10 Seconds      Memory Limit: 32768 KB In many applications very large intege ...