Rsync服务端和客户端多模块和排错

news2024/11/13 16:31:18

一台服务器可能有N多个文件需要同步备份, 那怎么办呢? 其实这个也很容易解决, 就是在服务器端多建几个模块, 每个模块包含不同的文件夹, 使用同样的密码文件即可实现. 如同下面的:

use chroot = false       #不使用chroot, 其实这个应该是针对linux系统来说的.既然是默认的, 就不用修改了 
strict modes = false     #不使用严格的用户限制
hosts allow = *           #设定允许访问该服务的IP地址, 如果不限制, 则使用*
max connections = 5    #最大连接数, 不需要过多解释了吧?
port = 14598        #使用的端口,如果没有这一设置的话, 默认的端口是873, 为了提高安全性,同时为了避免与系统保留的端口相冲突, 最好将该端口设置为1024以上的.
gid = 0           #及下一行不限定访问用户及用户组
uid = 0           

log file = /cygdrive/c/Setting/rsyncd.log       #放置rsync的日志文件路径

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[data_backup]                      #模块名称
path = /cygdrive/c/data_backup             #备份路径
auth users = zhangsan                 #访问的用户名              
read only = false                      # 不只限制是只读属性
secrets file = /cygdrive/c/Setting/Rsync/rsync_db.ps    #存放认证用户密码信息的文件及路径
lock file = rsyncd.lock                   
list = no                         #文件表不列出
ignore errors                       #屏蔽无关的IO错误

transfer logging = yes                   #记录传输日志

[site_bak]                      #改动的模块名称
path = /cygdrive/c/site_bak            #改动的备份路径
auth users = zhangsan                #访问的用户名              
read only = false                      # 不只限制是只读属性
secrets file = /cygdrive/c/Setting/Rsync/rsync_db.ps    #存放认证用户密码信息的文件及路径
lock file = rsyncd.lock                   
list = no                         #文件表不列出
ignore errors                       #屏蔽无关的IO错误

transfer logging = yes                   #记录传输日志

.......

其余部分不变,依次类推即可.

至此, 已经实现了多源站的数据同步备份功能.

在网上, 看到有朋友通过任务计划的方式来实现定期定时地同步文件, 不知道是怎么回事, 我这边一直无法实现这样的功能, 后来想想, 毕竟要备份的源站都是生产环境下的. 还是手动备份比较好一些吧, 所以就没有细细地研究了. 如果有朋友做到的话, 请提供一下地址. 我好拜读一下.

其实做这个教程时, 我已经完成了本地的配置验证, 服务器间的同步功能, 但是在写这个教程而重建环境时仍然遇到了一些小问题, 虽然解决很简单,但是找到问题点却是颇费心思和精力的, 以下是我的教训,希望供朋友们借簦 

教训总结:

1. 注意服务器端配置文件的每一行的行尾都不要留空格, 这个看起来很简单的问题, 很有可能在运行时出现这样的提示,

ERROR: auth failed on module data_backup rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]

我相信很多人都会遇到这个问题, 即使你已经严格地按照某些教程操作而仍然出现这样的提示的时候, 你就会很崩溃了. 而我就因为这一点而浪费了将近一天的时间, 只是偶然才发现这个问题, 解决起来也很简单, 就是把这几个空格去掉. 当然,另外的因素就是你考虑是不是你的服务器端的密码文件权限问题, 即要保证是600权限, 也就是只有读写权限, 对于WINDOW来说, 这个权限的设置有点头疼, 这个问题我也解决了, 那就是把文件的权限设置为只允许当前用户读写, 在这个时候, 会有如下的提示:

直接点击"是"即可,  这样的话, 其他的用户也就无法访问了, 当然也不能编辑. 如果想编辑的话, 就再加其他的用户即可. 

另外, 在WIN下也可以在服务器端给这个文件添加SvcCWRSYNC用户的方式来解决, 如图示:

2. 服务器端的密码文件和客户端的密码文件可以分别放在不同的盘符和文件夹内,  不影响软件的正常使用, 所以不用纠结它们是不是对应, 我这篇文章中已经体现出来了, 服务器端的密码文件时这样的格式: 用户名:密码, 如本例中的wufengg:wf5874, 而客户端的是只有用户的密码, 如本例中的wf5874, 这一点要注意, 另外, 还有一点, 不管服务器端建有多少个用户密码, 对应于某一台具体的客户端来说, 对它有效的只有一个用户, 也就是第一行密码对应的用户, 第二行密码对应的用户是无法运行的. 这一点如果不注意的话, 会裁跟头的;

3.批处理文件要注意保持每一条命令都占用一整行, 否则会因为命令不全导致运行失败的. 所以粘贴到记事本的时候要注意去掉自动换行的功能, 这样的话会比较容易发现这个问题的;

rsync常见问题及解决办法:

错误1: rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receive r=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务。开启服务。


错误2:@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。


错误3:@ERROR: failed to open lock file
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:配置文件 rsync.conf中添加 lock file = rsyncd.lock 即可解决。

错误4: rsync: could not open password file "/cygwin/e/Setting/Rsync/rsync_db.pwd": No such file or directory (2)

解决:密码文件的目录一定要存在,而且要用POSIX风格的写法:/cygdrive/e/Setting/Rsync/rsync_db.pwd

错误5:@ERROR: auth failed on module data_backup rsync

error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]

解决:密码错误,输入正确的密码即可。用户名和密码如果都正确,可能是远程rsync服务器的帐户密码文件的权限必须为600, 这一点还要注意空格问题是否存在;

错误6: password file must not be other-accessible

解决:这是因为rsyncd.pwd rsyncd.sec的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd, Windows下应将密码文件的所有者改成程序运行的用户。

错误7:@ERROR: invalid uid nobody . rsync

error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]


解决:在rsyncd.conf文件中添加下面两行即可
uid = 0
gid = 0

问题8: @ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。

问题9:@ERROR: Unknown module ‘data_backup’
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。

问题10:rsync: failed to connect to 192.168.25.137: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
原因:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp的873或者指定的rsync端口打开。

问题11:rsync error: error starting client-server protocol (code 5) at main.c(1524) [Receiver=3.0.7]
原因:/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。

问题12:rsync: chown "" failed: Invalid argument (22)
原因:权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)

问题13:@ERROR: daemon security issue -- contact admin
rsync error: error starting client-server protocol (code 5) at main.c(1530) [sender=3.0.6]
原因:同步的目录里面有软连接文件,需要服务器端的/etc/rsyncd.conf打开use chroot = yes。略过软连接文件。

问题14:rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receiver=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务,开启服务。

问题15: rysnc: failed to connect to 192.168.25.137: Connect refused(111)

rsync error: error in socket IO<code 10> [Receiver=3.0.7]

 解决: 出现这个错误要检查一下你的连接端口是不是与服务器端的端口一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/359612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jQuery.NiceScroll - 有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致,资源使用率低(中文文档)

jQuery.NiceScroll特征依赖关系使用配置参数有史以来最好的 nicescroll 版本——在现代浏览器和移动设备上极其流畅和一致&#xff0c;资源使用率低 官网:nicescroll.areaaperta.com GitHub:github.com/inuyaksa/jquery.nicescroll CDN引入: https://www.bootcdn.cn/jquery.nic…

Flink-Table API 和 SQL(基本API、流处理的表、时间属性和窗口、聚合查询、联结查询、函数、SQL客户端、连接到外部系统)

文章目录Table API 和 SQL快速上手基本 API程序架构创建表环境创建表表的查询输出表表和流的转换流处理中的表动态表和持续查询将流转换成动态表原理用 SQL 持续查询-更新查询&追加查询将动态表转换为流(Append-only、Retract、Upsert)时间属性和窗口事件时间处理时间窗口&…

使用react hooks 封装的圆形滚动组件

相关技术 react , hooks , ts 功能描述 根据用户的触摸&#xff0c;对卡片进行一个圆形的旋转滚动。 码上掘金 引入组件好像不支持ts类型会报错&#xff0c;所以功能函数就丢到一个文件里面了 使用 引入 ScrollRotate 组件&#xff0c;在需要使用的数据列表外包裹一层&…

[Datawhale][CS224W]图机器学习(四)

目录一、回顾二、图嵌入概述2.1 补充知识——表示学习2.2 图嵌入2.3 图嵌入-基本框架 编码器——解码器2.3.1 编码器2.3.2 解码器2.3.3 执行步骤2.4 随机游走2.4.1 随机游走的方法步骤2.4.2 计算优化三、随机梯度下降3.1 SGD步骤3.2 批处理四、node2vec五、基于随机游走的图嵌入…

vivo x TiDB丨解决云服务海量数据挑战

vivo 是一家全球性的移动互联网智能终端公司&#xff0c;品牌产品包括智能手机、平板电脑、智能手表等 &#xff0c;截至 2022 年 8 月&#xff0c;已进驻 60 多个国家和地区&#xff0c;全球用户覆盖 4 亿多人。 vivo 为用户提供了在手机上备份联系人、短信、便签、书签等数据…

k8s-kubeadm部署

文章目录一、准备环境二、安装docker三、安装kubeadm&#xff0c;kubelet和kubectl四、部署容器网络五、部署UI一、准备环境 1.安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x6…

论文阅读:pixelNeRF: Neural Radiance Fields from One or Few Images

中文标题&#xff1a;从一或少量图像中构建神经辐射场 提出问题 NeRF效果虽然惊艳&#xff0c;但是其需要大量环绕图像以及长时间的训练。 创新点 与原始的NeRF网络不使用任何图像特征不同&#xff0c;pixelNeRF将与每个像素对齐的空间图像特征作为输入。也可以集合更多输入…

计算机网络(第三版) 胡亮 课后习题第三章答案

计算机网络&#xff08;第三版&#xff09; 胡亮 课后习题第三章答案 1、双绞线电缆有哪两种&#xff1f; 非屏蔽双绞线&#xff08;UTP&#xff09;和屏蔽双绞线(STP) 2、UTP分为几类&#xff1f; UTP安好电气性能分为8种类型&#xff1a;1类、2类、3类、4类、5类、超5类、6类…

python基于vue学生毕业离校系统

可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发 目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行性 6…

面试攻略,Java 基础面试 100 问(十二)

如何将字符串转换为基本数据类型&#xff1f; 调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型&#xff1b; 如何将基本数据类型转换为字符串&#xff1f; 一种方法是将基本数据类型与空字符串&#xff08;””&#xff09;连…

面试官最喜欢的软件测试工程师简历模板

目录 个人信息 求职意向 职业技能 工作经历 项目经历 工作经历 项目经历 教育经历 自我评价 总结 个人信息 姓 名&#xff1a;xxx 性 别&#xff1a;女 手 机&#xff1a;xxxxxxxxxxxx 最高学历&#xff1a;统招硕士 工作年限&am…

专业运动耳机哪个牌子好、专业运动耳机推荐

近些年&#xff0c;户外运动兴起&#xff0c;运动耳机迎来爆发增长&#xff0c;拒绝运动乏味&#xff0c;追求健康运动方式&#xff0c;已经成为当下年轻人的共同诉求。跑步骑行听音乐&#xff0c;已经是运动爱好者再熟悉不过的操作&#xff0c;很多人在运动中离不开音乐的节奏…

【小程序】新版uniapp登录流程以及获取头像和昵称

众所周知&#xff0c;小程序新版登录无法拿到头像和昵称&#xff01; 这篇文章讲解如何获取到微信用户昵称和头像 成品效果 步骤一&#xff0c;点击登录&#xff0c;获取token 步骤二&#xff0c;登录按钮隐藏&#xff0c;展示上传按钮 步骤三&#xff0c;点击上传按钮…

k8s介绍-组件架构-核心

文章目录一、Kubernetes介绍1、什么是Kubernetes&#xff1f;2、为什么需要Kubernetes&#xff0c;它能做什么&#xff1f;3、k8s的特性二、k8s集群架构与组件1、Master组件2、配置存储中心——etcd3、Worker Node 组件3.1 Node节点的工作流程&#xff1a;●Kubelet●Kube-Prox…

本地主机搭建服务器后如何让外网访问?快解析内网端口映射

本地主机搭建应用、部署服务器后&#xff0c;在局域网内是可以直接通过计算机内网IP网络地址进行连接访问的&#xff0c;但在外网电脑和设备如何访问呢&#xff1f;由于内网环境下&#xff0c;无法提供公网IP使用&#xff0c;外网访问内网就需要一个内外网转换的介质。这里介绍…

浅谈Kylin

1、什么是KylinApache Kylin™是一个开源的、分布式的分析型数据仓库&#xff0c;提供Hadoop/Spark 之上的 SQL 查询接口及多维分析&#xff08;OLAP&#xff09;能力以支持超大规模数据。它能在亚秒内查询巨大的表。2、谁在使用Kylin3、工作原理Apache Kylin 的工作原理就是对…

图解LeetCode——剑指 Offer 63. 股票的最大利润

一、题目 假设把某股票的价格按照时间先后顺序存储在数组中&#xff0c;请问买卖该股票一次可能获得的最大利润是多少&#xff1f; 二、示例 2.1> 示例 1: 【输入】 [7,1,5,3,6,4] 【输出】 5 【解释】 在第 2 天&#xff08;股票价格 1&#xff09;的时候买入&#xff…

vue入门(四)组件基础,$emits简单用法

上一篇&#xff1a;vue入门&#xff08;三&#xff09;事件&#xff08;方法&#xff09;处理、侦听器、模板引用 1.组件最基础的用法&#xff1a; 首先有一个button.vue的组件&#xff0c;里面只画了一个按钮 button.vue: <script> export default({data(){return{but…

备考心得100天PMP通关经验分享

01对PMP的认识 作为一线技术人员&#xff0c;在通信行业工作多年&#xff0c;深感项目管理的重要性。一个成功的项目&#xff0c;除了要把好技术关&#xff0c;项目的组织、协调、沟通、执行、风险管控等每一项都事关项目的成败。由此想到了田忌赛马的故事&#xff0c;科学合理…

用ChatGPT进行营销的一些可能场景

ChatGPT的热度席卷了全球科技圈。发布短短五天内&#xff0c;ChatGPT用户数就超过100万人&#xff1b;两个多月后月活用户突破1亿。 ChatGPT是谁&#xff1f; ChatGPT是由OpenAI开发的一个人工智能聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于GPT-3.5架构的大…