Rsync 常见错误及解决方法
- 格式:doc
- 大小:53.00 KB
- 文档页数:5
rsync常见错误与解决⽅法整理我们都是通过错误⽇志查看在rsyncd.log⾥⾯或.err⽂件⾥⾯,⼤家可以⽤记事本打开查看。
注意windows下⾯我们需要给SvcwRsync⽤户,管理同步⽬录的所有权限,基本上这样就可以了问题⼀:@ERROR: chroot failedrsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]原因:服务器端的⽬录不存在或⽆权限,创建⽬录并修正权限可解决问题。
问题⼆:@ERROR: auth failed on module teersync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]原因:服务器端该模块(tee)需要验证⽤户名密码,但客户端没有提供正确的⽤户名密码,认证失败。
提供正确的⽤户名密码解决此问题。
问题三:@ERROR: Unknown module ‘tee_nonexists'rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]原因:服务器不存在指定模块。
提供正确的模块名或在服务器端修改成你要的模块以解决问题。
问题1:在client上遇到问题:rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/rsync: could not open password file "/etc/rsync.pas": No such file or directory (2)Password:@ERROR: auth failed on module backuprsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]遇到这个问题:client端没有设置/etc/rsync.pas这个⽂件,⽽在使⽤rsync命令的时候,加了这个参数-- password-file=/etc/rsync.pas问题2:rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/@ERROR: auth failed on module backuprsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]遇到这个问题:client端已经设置/etc/rsync.pas这个⽂件,⾥⾯也设置了密码111111,和服务器⼀致,但是服务器段设置有错误,服务器端应该设置/etc/rsync.pas ,⾥⾯内容root:111111 ,这⾥登陆名不可缺少问题3:rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/@ERROR: chdir failedrsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]遇到这个问题,是因为服务器端的/home/backup 其中backup这个⽬录并没有设置,所以提⽰:chdir failed问题4:rsync: write failed on "/home/backup2010/wensong": No space left on device (28)rsync error: error in file IO (code 11) at receiver.c(302) [receiver=3.0.7]rsync: connection unexpectedly closed (2721 bytes received so far) [generator]rsync error: error in rsync protocol data stream (code 12) at io.c(601) [generator=3.0.7]磁盘空间不够,所以⽆法操作。
Linux命令进阶使用rsync进行增量备份与恢复随着数据量的不断增加,数据备份和恢复变得越来越重要。
在Linux系统中,rsync是一款常用的工具,它可以高效地进行文件的增量备份和恢复。
本文将介绍如何使用rsync命令进行增量备份和恢复,并提供一些实用的技巧和建议。
一、rsync简介rsync是一款用于文件备份和同步的命令行工具。
它具有以下优点:1. 增量备份:rsync可以根据文件的变化情况,只传输发生变化的部分,从而实现增量备份,节省带宽和存储空间。
2. 高效性:rsync使用了一种特殊的算法,称为“rsync算法”,可以快速比较和同步大量文件,提高备份和恢复的效率。
3. 支持远程备份:rsync可以通过SSH协议进行远程备份,确保数据传输的安全性。
二、使用rsync进行增量备份1. 安装rsync在开始使用rsync之前,首先需要确保系统中已经安装了rsync。
可以通过以下命令在Ubuntu系统中安装rsync:```shellsudo apt-get install rsync```2. 增量备份的基本命令格式rsync的基本备份命令格式如下:```shellrsync [选项] 源目录目标目录```其中,源目录是要备份的文件或目录所在的路径,目标目录是备份数据存放的路径。
可以使用绝对路径或相对路径。
3. 增量备份的常用选项rsync提供了许多选项,用于控制备份过程的行为。
以下是一些常用的选项:- `-a`:归档模式,保留文件属性、权限等信息。
- `-v`:显示详细的备份过程。
- `-z`:传输过程中进行压缩,节省带宽。
- `-P`:显示备份进度。
- `--delete`:删除目标目录中不存在于源目录的文件。
4. 示例:增量备份本地文件假设我们要备份`/data`目录到`/backup`目录:```shellrsync -avz --delete /data /backup```上述命令将会将`/data`目录下的文件和目录完整地备份到`/backup`目录中,并保持两者的一致性。
Windows下的Rsync同步工具--CwRsynccwRsync是一款基于Linux和windows平台的高效文件同步工具,它支持windows对Linux、windows对windows、Linux对windows之间的文件同步,它可以自动同步,包括文件的更新、删除、重命名等等,功能十分强大。
一、软件简介:cwRsync是基于cygwin平台的rsync软件包,支持windows对windows、windows对Linux、Linux对windows高效文件同步。
由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包。
Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作。
使用 cwRsync 来同步文件后,只需要对一台主服务器进行文件修改,其他镜像服务器可以自动同步,包括文件的更新、删除、重命名等。
cwRsync数据备份可防止因存储设备损坏造成的损失,是管理员一项重要的工作,实现数据远程备份很多方法,最简单的方法就是使用ftp或类似工具或脚本, 但是这种方法每次都需要将所有文件和数据都重新在网络上传输一遍, 而不考虑哪些文件是新增的或更新的,因此效率非常低下,在备份数据量很大时,需要花费更长的时间在网络上进行数据传输。
二、软件的下载与安装:1、下载cwRsync 4.1.0软件,软件下载地址:cwRsync 4.1.0客户端:/soft/307.htmlcwRsync服务器端:/soft/308.html2、软件的安装:下载完成后分别将他们解压到任意位置,客户端软件双击:“cwRsync_4.1.0_Installer.exe”,服务器端软件双击“cwRsyncServer_4.1.0_Installer.exe”即可开始安装操作,和普通安装操作没什么区别,直接下一步即可完成安装,但值得注意的是服务器端安装设置用户名和密码的时候,如果你采用系统给出的用户名和密码的话需要牢记该用户名和密码,当然你也可以自行设置,由于系统给出的用户名和密码一般都较复杂,所以小编建议自行设置,以免用户名和密码遗忘。
rsync的参数-回复rsync的参数是指在使用rsync命令时可以加上的选项,这些选项可以根据需要来配置不同的备份或同步操作。
rsync是一个用于文件同步和备份的强大工具,它在许多方面比传统的cp命令更加灵活和高效。
在本文中,我将一步一步回答有关rsync参数的问题,并详细解释每个参数的作用和使用方法。
1. 什么是rsync?rsync是一个用于文件同步和备份的工具。
它可以通过网络和本地文件系统复制、备份和同步文件,并具有增量传输、部分文件更新等高级功能。
2. 如何使用rsync?基本的rsync命令语法如下:rsync [OPTION]... SRC [SRC]... DEST其中,SRC表示源文件或目录,DEST表示目标位置。
可以在命令中加入不同的参数,以满足具体的需求。
3. rsync的常用参数有哪些?rsync有许多参数可用于不同的场景。
下面是一些常用的参数:-a, archive:以归档模式同步文件,包括保持文件的权限、时间戳等。
-v, verbose:显示详细的同步过程信息。
-r, recursive:递归同步目录及其子目录。
-h, human-readable:以人类可读的格式显示文件大小。
-z, compress:在传输时压缩文件,减少网络带宽的使用。
-P:显示同步进度,并允许继续中断的同步操作。
4. 如何同步本地文件夹?要将本地文件夹A同步到本地文件夹B,可以使用以下命令:rsync -avh /path/to/folderA/ /path/to/folderB/这将递归地同步文件夹A及其所有子文件夹和文件到文件夹B。
选项-a保持文件权限、时间戳等,-v显示详细信息,-h使用人类可读的格式,以便更容易理解。
5. 如何同步本地和远程文件夹?要将本地文件夹A同步到远程服务器的文件夹B,可以使用以下命令:rsync -avh /path/to/folderA/ userremote:/path/to/folderB/这将通过SSH将文件夹A的内容同步到远程服务器。
rsync的error code 10rsync是一个常用的文件传输和备份工具,它可以在本地或远程主机之间同步文件和目录。
然而,有时候当我们使用rsync时,可能会遇到错误代码10。
那么,什么是rsync的error code 10呢?当rsync返回error code 10时,意味着源文件或目录不存在。
这可能是由于以下几种情况引起的:1. 源文件或目录被意外删除或移动。
在进行文件同步或备份时,如果源文件或目录不存在,rsync就无法执行同步操作。
2. 源文件或目录的权限设置不正确。
如果源文件或目录的权限设置不允许rsync读取或写入,那么rsync就无法执行同步操作,从而返回error code 10。
3. 源文件或目录路径错误。
当我们在使用rsync时,需要确保输入正确的源文件或目录路径。
如果路径输入错误,rsync就无法找到源文件或目录,从而返回error code 10。
为了避免出现rsync的error code 10,我们可以采取以下几个措施:1. 在使用rsync之前,检查源文件或目录是否存在。
如果不存在,我们可以尝试恢复或重新创建源文件或目录。
2. 确保源文件或目录的权限设置正确。
我们可以使用chmod命令来更改文件或目录的权限,确保rsync具有读取和写入的权限。
3. 仔细检查源文件或目录的路径输入。
确保路径输入正确,以便rsync能够找到源文件或目录。
当我们在使用rsync时遇到error code 10时,应该首先检查源文件或目录是否存在、权限设置是否正确以及路径输入是否准确。
通过采取适当的措施,我们可以避免rsync的error code 10,并成功进行文件同步和备份操作。
rsync的参数-回复rsync的参数- 一个完整的备份和同步工具rsync是一个强大的备份和同步工具,广泛应用于Linux系统和其他Unix-like系统中。
它提供了许多有用的参数,使用户能够根据自己的需求对其进行自定义设置。
在本文中,我们将一步一步地介绍rsync的各种参数及其用法,帮助读者更好地了解这个工具。
1. -a, archive 参数在备份和同步文件时,保持源文件的所有属性和权限。
这包括文件的所有者和所属组、访问控制列表、时间戳等。
使用此参数可以确保目标文件与源文件完全一致,在备份和还原文件时非常有用。
示例:bashrsync -a source/ destination/2. -v, verbose 参数显示详细的进度和日志信息。
这对于监视备份过程和排查问题非常有用。
rsync默认情况下是安静模式,只显示重要的错误和警告消息。
添加-v参数后,它将更详细地报告进度和文件信息。
示例:bashrsync -av source/ destination/3. -z, compress 参数压缩传输数据以减小传输时间和带宽消耗。
在网络传输中,启用压缩功能可以显著提高传输效率,特别是在宽带有限的情况下。
rsync使用zlib库进行数据压缩,所以在传输大文件时使用此参数会节省时间和带宽。
示例:bashrsync -az source/ destination/4. -P, partial 参数如果网络传输中断或意外中断,允许断点续传。
利用这个参数,rsync会将未完成的文件保留在目标文件中,以便下次继续传输而不必重新传输整个文件。
这对于大型文件和不稳定的网络连接非常有用。
示例:bashrsync -aP source/ destination/5. -e, rsh 参数在远程主机上运行rsync时,指定要使用的远程shell。
这允许用户选择不同的远程shell,如ssh、rsh等。
默认情况下,rsync使用rsh作为远程shell。
rsync在windows与windows服务器之间的同步设置linux下有sync, windows下也有类似的软件,就是cwRsync,此软件分为服务器端/客户端。
目前能找到的最新的版本是4.0.1。
下载地址:cwRsync下载主服务器:A 192.168.0.10从服务器:B 192.168.0.201、主服务器A安装主服务器A安装cwRsyncServer_4.0.1_Installer.zip,server 包括了 client 的功能。
安装完后,会在系统服务中增加 RsyncServer 和 ssh 服务,进入服务管理,设置为自动启动。
安装成功后,要备份的文件目录必须加上 SvcwRsync 这个用户可读权限。
2、主服务器A配置进入cwRsync安装目录,配置 rsyncd.conf 如下。
程序代码:port = 9999 #默认端口是873,做了端口限制的要开启cwRsync所使用的端口。
use chroot = falsestrict modes = falsehosts allow = *log file = rsyncd.log #LOGpid file = rsyncd.pid# Module definitions# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work #[web]path = /cygdrive/d/web/test #注意格式,这说明是D盘WEB目录下的test目录read only = true #只读list = noauth users = username #指定用户名, 如果没有这行,则表明是匿名secrets file=/cygdrive/d/rsyncd.secrets 这里指定了认证文件目录,名字叫 rsyncd.secrets,其内容是txt编辑为 username:123456 前面是用户名,后面是密码transfer logging = no #是否记录详细的传输情况rsyncd.conf相关解释:use chroot = no # 不使用chrootmax connections = 4 # 最大连接数为4pid file = /cygdrive/d/rsyncd.pidlock file = /cygdrive/d/rsync.locklog file = /cygdrive/d/log/rsyncd.log # 日志记录文件[web] # 这里是认证的模块名 client端需要根据此名字进行同步path = /cygdrive/d/web/test # 需要做镜像的目录comment = BACKUP CLIENT IS SOLARIS 8 E250ignore errors # 可以忽略一些无关的IO错误read only = yes # 只读list = no # 不允许列文件hosts allow=192.168.0.20 #允许连接IP,不限制则填写 *auth users = username # 认证的用户名,如果没有这行,则表明是匿名secrets file = /cygdrive/d/rsyncd.secrets # 认证文件名3、从服务器B安装cwRsync_4.0.1_Installer.zip1、telnet 192.168.0.20 9999 #连接A服务器测试2、设置客户端密码文件例如:/cygdrive/d/rsyncd.secrets 内容只要含有密码行 123456 即可,为安全属性改为只读。
一、rsync 简介rsync 是一个用于在不同的文件夹或计算机之间同步文件和目录的工具。
它能够快速、有效地复制大量数据,并且只传输或复制那些发生了改变的部分,因而被广泛应用于数据备份和文件同步等场景中。
二、rsync 文件大小一致的问题在使用 rsync 进行文件同步时,有时会出现一个问题,即文件大小在同步前后保持一致,但是占用的空间大小却变大了。
这个问题可能会导致磁盘空间的浪费,因此需要及时处理。
三、可能的原因1. 文件系统类型不同如果源文件系统和目标文件系统不同,特别是其中一个是旧版本的文件系统,可能会导致文件大小一致但占用空间变大的问题。
2. 文件块大小不一致在不同的文件系统中,文件块的大小可能是不一样的。
当使用 rsync进行文件同步时,新的文件系统可能会导致文件块大小的改变,从而间接导致了占用空间变大的情况。
3. 存储空间碎片化文件系统的存储空间碎片化也可能导致占用空间变大的问题。
碎片化会导致文件在磁盘上的存储不是连续的,从而造成了同样大小的文件在不同的文件系统中占用空间大小不同的情况。
四、解决方法1. 使用相同的文件系统为了避免文件系统类型不同导致的问题,可以尽量使用相同的文件系统进行文件同步。
2. 调整 rsync 参数在使用 rsync 进行文件同步时,可以尝试调整参数,例如使用 --inplace 参数,强制 rsync 直接在文件上进行修改而不是创建临时文件,或者使用 --no-whole-file 参数,强制 rsync 对文件的内容进行检查和传输而不是简单地按照文件的修改时间和大小进行判断。
3. 定期进行文件系统整理定期进行文件系统的整理和优化,可以减少存储空间的碎片化问题,从而减少占用空间变大的情况。
五、结语在使用 rsync 进行文件同步的过程中,有时会遇到文件大小一致但占用空间变大的情况。
我们需要认真分析可能的原因,然后采取相应的解决方法来解决这个问题,以充分利用存储空间,保证文件同步的有效性。
Rsync同步过程中遇到的常见问题⼀、Rsync服务介绍Rsync属于⼀款实现全量及增量同步数据的软件⼯具,适⽤于unix/linux/windows等多种操作系统平台。
Rsync软件能实现本地复制,远程复制,或者远程守护进程⽅式复制。
它以其delta-transfer算法闻名,减少通过⽹络数据发送数量,利⽤只发送源⽂件和⽬标⽂件之间的差异信息,从⽽实现数据的增量同步复制。
⼆、Rsync⼯作⽅式1. 本地数据备份⽅式2. 远程传输数据⽅式3. 守护进程传输数据⽅式以rsync守护进程⽅式实现为主,通过man rsync帮助,查看⽤法。
#拉取数据的命令参数⽤法Pull:rsync [OPTION...] [USER@]HOST::SRC... [DEST]rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]参数解释:[USER@]HOST:: --- 指定远程连接的认证⽤户SRC --- 指定相应的模块信息[DEST] --- 将远程数据保存到本地的路径信息#推送数据的命令参数⽤法Push: rsync [OPTION...] SRC... [USER@]HOST::DESTrsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST参数解释:[USER@]HOST:: --- 指定远程连接的认证⽤户SRC --- 指定本地要进⾏推送的数据信息[DEST] --- 远程进⾏保存数据的模块信息三、守护进程部署流程3.1 服务端部署1)主机环境检查[root@backup ~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)[root@backup ~]# uname -r2.6.32-642.el6.x86_64[root@backup ~]# uname -mx86_642)检查软件是否安装[root@backup ~]# rpm -qa rsyncrsync-3.0.6-12.el6.x86_643)编辑配置⽂件配置⽂件默认不存在,需要在/etc⽬录下创建rsyncd.conf。
Linux运维架构部署中解决Rsync排错操作Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,也是运维人员必备技能之一。
那么在运维部署架构时,运维人员是如何进行Rsync排错的?一、排错必备思想1)部署流程步骤熟练2)rsync原理理解3)学会看日志,rsync命令行输出,日志文件/var/log/rsyncd.log二、排错思路1. rsync服务端排错思路1)查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf2)查看配置文件里host allow,host deny,允许的ip网段是否允许客户端访问的ip网段3)查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组)4)查看rsync服务是否启动,查看命令为:ps -ef|grep rsync。
端口会否存在netstat -ntlpu|grep 8735)查看iptables防火墙和selinux是否开启允许rsync服务通过,也可考虑关闭6)查看服务端rsync配置的密码文件是否为600的权限和格式是否正确,正确的格式用户名:密码,文件路径和配置文件里的secrect file要相同7)如果是推送数据的话,要看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限2. rsync客户端排错思路1)查看客户端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,注意:仅需要有密码,并且和服务端密码一致2)用telnet连接rsync服务器ip地址873端口,查看服务是否启动(可测试服务端防火墙是否阻挡)。
telnet 172.16.1.41 8733)客户端执行命令时rsync -avzP rsync_backup@172.16.1.41::backup/ /test/ --password-file=/etc/rsync.password这个命令的细节要记清楚,尤其172.16.1.41::oldboy/test/处的双冒号及随其后的oldboy为模块名称。
Rsync 常见错误及解决方法
由于阿里云SLB不提供ECS间的数据同步服务,如果部署在SLB后端ECS 上的应用服务是无状态的,那么可以通过独立的ECS或RDS服务来存储数据;如果部署在SLB后端ECS上的应用服务是有状态的,那么需要确保这些ECS 上的数据是同步的。
我们通过Rsync来实现多个ECS之间的数据同步。
通过Rsync来实现多个ECS之间的数据同步,请查看此文。
问题 @ERROR: chroot failed
@ERROR: chroot failed rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]
原因:
服务器端的目录不存在或无权限。
解决办法:
创建目录并修正权限可解决问题。
问题 skipping non-regular file
receiving incremental file list
skipping non-regular file ―vendor/bin/doctrine‖
skipping non-regular file ―vendor/bin/doctrine.php‖
sent 1990 bytes received 489209 bytes 327466.00 bytes/sec total size is 182515746 speedup is 371.57
原因:
source源文件有软链接。
解决方法:
修改为rsync -va,其中 -a == -rlptgoD (no -H,-A,-X) 或者rsync -rvltOD 也可以。
解决后:
receiving incremental file list
vendor/bin/doctrine -> ../doctrine/orm/bin/doctrine
vendor/bin/doctrine.php -> ../doctrine/orm/bin/doctrine.php
sent 1998 bytes received 489279 bytes 327518.00 bytes/sec total size is 182515746 speedup is 371.51
问题@ERROR: module is read only
sending incremental file list
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(866) [receiver=3.0.6]
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(759) [sender=3.0.6]
原因:
source源服务器端权限设置read为only只读权限。
解决方法:
read only = false
问题@ERROR: auth failed on module tee
@ERROR: auth failed on module tee rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.6]
原因:
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。
解决方法:
提供正确的用户名密码解决此问题。
问题@ERROR: Unknown module …tee_nonexists‟
@ERROR: Unknown module ‗tee_nonexists‘ rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.6]
原因:
服务器不存在指定模块。
解决方法:
提供正确的模块名或在服务器端修改成你要的模块以解决问题。
问题 password file must not be other-accessible
password file must not be other-accessible
continuing without password file
Password:
原因:
这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。
解决方法:
chmod 600 rsyncd.pwd
问题 rsync: failed to connect No route to host
rsync: failed to connect to 192.168.1.10: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=3.0.6]
原因:
对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。
解决方法:
在iptables 中开放该端口,语句如下:
iptables -I INPUT -p tcp –dport 873 -j ACCEPT
rsync默认端口873,其实就是把tcp udp的873端口打开。
问题 rsync error: error starting client-server protocol
rsync error: error starting client-server protocol (code 5) at main.c(1524) [Receiver=3.0.6]
原因:
/etc/rsyncd.conf配置文件内容有错误。
请正确核对配置文件。
问题rsync: chown “” failed: Invalid argument (22)
rsync: chown ―‖ failed: Invalid argument (22)
原因:
权限无法复制。
去掉同步权限的参数即可。
(这种情况多见于Linux向Windows 的时候)
问题 @ERROR: daemon security issue — contact admin
@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。
问题 rsync: read error: Connection reset by peer (104)
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.6]
解决:很大可能是服务器端没有开启rsync 服务,开启服务。
问题 @ERROR: failed to open lock file
@ERROR: failed to open lock file rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.6]
解决:配置文件rsync.conf 中添加lock file = rsyncd.lock 即可解决。