博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rsync远程数据同步工具的使用
阅读量:6988 次
发布时间:2019-06-27

本文共 2140 字,大约阅读时间需要 7 分钟。

准备工作

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

转载于:https://www.cnblogs.com/zhaowinter/p/7788356.html

你可能感兴趣的文章
靠打赏盈利的简书网是自媒体的新型发展模式吗?
查看>>
查询改写参数配置
查看>>
Kubernetes 网络改进的三项实践分享
查看>>
SpringMVC的粗略整理(一)
查看>>
Visual Paradigm 教程[企业架构]:如何绘制ArchiMate图?
查看>>
Git 提交的正确姿势:Commit message 编写指南
查看>>
分享HTML5自动化构建工具gulp使用方法步骤
查看>>
巴塞尔委员会为有意加入加密市场的银行制定了指引
查看>>
PHP 包含文件
查看>>
Java发展历史
查看>>
BootStrap 资源汇总
查看>>
为Empathy增加QQ支持
查看>>
Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit:
查看>>
rabbitmq的使用笔记
查看>>
QT临时笔记
查看>>
一次、二次、三次指数平滑计算思想及代码
查看>>
TIDB 最佳实践
查看>>
linux 中mysql命令使用
查看>>
Freemaker+html+css+common-email
查看>>
开发者账号使用个人总结
查看>>