Articles of rsync

可靠的文件复制(移动)过程 – 主要是Unix / Linux

小故事:我们需要一个坚如磐石的可靠的文件传送程序。 我们有经常被写入到我们需要从中移动文件的源代码目录。 这些文件是成对的 – 一个大的二进制文件和一个小的XML索引。 我们得到一个定义这些文件包的CTL文件。 一旦它们在目的地目录中,就有一个操作文件的过程; 当它完成的时候摆脱它们。 rsync会做最好的工作,还是我们需要变得更复杂? 长话如下: 我们有很多来源:一组目录在一台Windows机器上(有Cygwin和SSH守护进程),一整套目录在一组SFTP服务器上(其中大多数也是Windows)。我们的目的地是AIX服务器上的目录列表。 我们曾经在Windows / Cygwin机器上使用非常可靠的Perl脚本,这是我们唯一的来源。 但是,我们正在努力摆脱这台机器,现在还有其他的资源,SFTP服务器,我们目前无法运行我们自己的脚本。 出于安全原因,我们无法在AIX服务器上运行复制作业 – 他们无法访问源服务器。 我们目前在Linux机器上有一个本地Java程序,它使用SFTP从各种新的SFTP源目录中提取,复制到本地tmp目录,validation是否存在,然后将其复制到AIX机器,然后删除这些文件从源头上。 但是,我们发现了任何数量的错误或错误检查处理不当。 我们都不是Java专家,所以修复/改进这可能是困难的。 对我们的关注是: 使用远程源(SFTP),rsync会独自保留正在写入的任何文件吗? 其中一些文件很大。 从阅读文档看来,似乎rysnc将是非常好的,直到目的地被可靠的书面去除源。 有没有人有经验确认或否认这一点? 附加信息我们将关注一旦它们在目标目录中的文件上的操作过程。 当我们正在复制文件时,我们不希望它在文件上运行; 它将一直等到小XML索引文件存在。 我们目前的复制工作应该是最后复制XML文件。 有时候networking有问题,有时候SFTP源服务器会让我们失望。 有时我们inputconfiguration文件,目标目录不存在。 由于这种错误,我们从不想丢失文件。 我们需要好的日志 如果你被提出这个,你会只是编写一些rsync? 或者你会build立或购买一个工具,如果是这样的话,它将会是什么样的(或者它将使用什么技术?)我(和我的团队中的其他人)在Perl上体面。

如何在AIX机器上安装rsync

我有一台运行AIX的机器。 我正在寻找安装rsync上。 rsync是否支持AIX? 如果是这样,我可以在哪里下载? 万一它很重要:我将使用rsync将AIX机器上的文件系统复制到另一台UNIX机器,因此它需要与其他版本的rsync兼容。

rsync到与本地服务器没有相同用户设置的远程服务器会产生权限错误

我正在将我的基于Linux的networking服务器备份到运行FreeBSD的NAS上。 我在FreeBSD上创build了一个备份用户,并使用以下命令在本地(web服务器)上以root身份运行rsync: rsync -avz / hsphere / [email protected]:/mnt/tank/web_backup/web01.webhost.net 它适用于所有由root拥有的目录,但是当它开始备份普通用户拥有的目录时,我得到权限被拒绝的错误。 rsync:recv_generator:mkdir“/mnt/tank/web_backup/web01.webhost.net/hsphere/local/home/username/username.com”失败:权限被拒绝(13) 我猜测这是因为“-a”试图保留原始文件的所有权,并且由于这些用户不存在于远程服务器上,所以它拒绝了它。 我试图运行rsync没有-o -g和-p标志认为会解决它,但我得到同样的错误。 rsync -rltDz / hsphere / [email protected]:/mnt/tank/web_backup/web01.webhost.net 如果我使用root用于远程NAS的rsync,它确实成功了,但我宁愿不必在NAS上使用root,如果我能避免它,因为它创build了一个安全漏洞。 freebsd框中的“backup_user”在轮组中,这应该给他足够的权限。 有关如何进行的任何build议?

澄清rsyncfunction

我find了一个答案这里有一个问题,我有关于传输速度。 它说,问题是rsync的增量复制正在下载文件两次,一次为校验和一次实际传输。 提供的解决scheme(DeltaCopy服务器)的工作,但我不知道推理是健全的。 rsync的手册页,-W选项表示它默认启用了本地到本地副本。 它还表示整个文件传输禁用增量传输。 a:本地目录和已安装的共享之间的传输是作为本地还是远程传输计算的? b:如果算作本地传输,为什么当我开始使用DeltaCopy服务器时,本地/安装的共享速度达到2 MB / s,然后达到10 MB / s的速度?

你对这个Debian备份策略有什么看法?

我不是一个真正的系统pipe理员,我主要是一个有一些UNIX知识的开发人员,因为我们没有任何有能力的系统pipe理员,所以我被委派执行备份策略的任务。 我们有很多Web服务器,有一些运行Mysql Srevers,另外一个是Apache,另一个运行nginx,我们使用SVN作为版本控制系统。 我们期待实施备份策略,并能够自动恢复服务器。 我们有两种可能性: 每天同步整个DISK 分析我们的configuration,并规范每个安装步骤,仅备份这些信息,并使用MySQL复制,SVN恢复数据,rsync仅备份configuration选项,以及软件包列表 就我们的观点来看,第一种方法的优点是实施起来非常简单,并且有利用大量服务器资源(CPU / RAM /带宽) 因为我们不想看到我们的服务器因为备份脚本的运行而滞后,所以我们决定更深入地研究(2)。 经过一番反思后,我想出了这样的想法,即我们的每台服务器可以分成5个部分 1 – networking服务器数据 SVN可以处理我们所有的php / css / js / html文件,我们只需要一个configuration文件来存储关于文件夹和存储库的信息。 例如:在文件/etc/backup/svn_folders.list中,我会有 FOLDERNAME1 SVN Repository Address1 FOLDERNAME2 SVN Repository Address2 etc… 那么万一发生崩溃,我们只需要parsing这个文件和SVN结帐。 2 – 用复制备份MySQL数据 我们有3个主要的mysql服务器,我在一个备份服务器mysql_multi上实现,同时有三个mysql实例运行,每个服务器都是主服务器。 那么,我每天都在 Stop slaves mysqldump start slave 这样,我确信我们的主MySQL服务器不受备份过程的影响。 然后,foreach主服务器,我只需要将这些信息存储在一个conf文件/etc/backup/mysql.info serverID = ID 要恢复数据库,我只需要从conf文件中获取这个serverID,然后从备份服务器将rsync对应的转储映像恢复到还原的服务器。 3 – 包装清单 使用debian,很容易知道系统上安装的完整软件包列表。 一个cron只会将这个列表存入/etc/backup/package.list […]

通过SSH的RSync挂起并失败,超时

客户端:Gentoo,GCC 4.3.4,RSync 3.0.9服务器:Ubuntu 10.04.4 LTS,RSync 3.0.7 客户端和服务器通过互联网连接,大约2Mbps。 平安是好的。 RSync调用任何方向上的任何文件挂在随机文件上,然后在超时后失败: [sender] io timeout after 30 seconds — exiting rsync error: timeout in data send/receive (code 30) at io.c(140) [sender=3.0.9] [sender] _exit_cleanup(code=30, file=io.c, line=140): about to call exit(30) 在1/10 trys是正确传递。 我尝试添加SSH选项TcpRcvBufPoll = yes,KeepAlive = yes; 禁用并启用rsync压缩 – 无需更改。 我如何使rsync正常工作?

用rsync备份会使服务器无响应

build立: 我想从PROD到BACKUP服务器每周备份1TB。 这些服务器在Linux Ubuntu-1004-lucid-64-minimal 2.6.32-35-server下运行。 有BACKUP服务器(我启动rsync程序)和PROD服务器的数据。 我目前使用的命令如下: time rsync -r –delete [email protected]:/home/myuser/data . 问题: 与此问题是:PROD服务器变得几乎没有响应。 在PROD服务器上运行的Web应用程序快要死亡了。 更新:当前的工作解决scheme 经过一些反馈,我现在使用这个命令做1TB的数据备份,它绝对正常工作: rsync -r –delete –rsync-path "ionice -c 3 nice rsync" –bwlimit=30000 [email protected]:/home/myuser/data . 请注意,我已将带宽限制设置为30 Mbps,因为我的PROD和备份服务器之间的连接速度为100 Mbps,并且该带宽与我的Web应用程序的生产stream量共享。 请注意,我在BACKUP服务器上执行此命令,所以这就是为什么我使用rsync-path选项为了在远程服务器(PROD)上进行更好的离子化。 我可能的解决scheme的原始问题 我如何控制rsync(在BACKUP服务器上启动)的影响? 你将如何解决这个问题? 我的小研究带出了以下可能性: 以某种方式执行rsync,以便1TB以块的forms同步? 例如 rsync /source/[0-9]* [email protected]:/source_backup rsync /source/[ah]* [email protected]:/source_backup/ rsync /source/[ip]* [email protected]:/source_backup/ rsync /source/[qz]* [email protected]:/source_backup/ 用选项来限制带宽会有帮助吗? –bwlimit=10000 在某种程度上可以很好地处理远程机器上的进程吗? […]

Rsync:Windows 7,Synology:login错误和权限被拒绝的错误

祝大家好日子, 我遇到了奇怪的/愚蠢的错误,我希望有人能帮助我。 我不得不承认,我不是一个上师,所以请忍受我:-) 情况: Synology NAS(运行Linux)和Windows 7桌面(1个正常/限制用户Lisa和1个pipe理员用户)。 来自W7桌面的数据被rsynced synology:/ volume1 / home / Lisa / Backup Rsync命令:c:\ cygwin \ bin \ rsync -avz / cygdrive / e / Lisa / [email protected]:/ volume1 / homes / Lisa / Backup 我已经设置了这两个线程的SSH: http://www.cesareriva.com/archives/102 http://www.cesareriva.com/archives/112 现在恐怖开始了: root允许成功运行rsync,但是,他不会自动login(所以我不能在W7批处理脚本中使用rsync,这当然是必需的)。 允许Lisa自动login,但由于权限错误,他无法成功完成rsync命令: rsync更改目录/卷1 /家园/丽莎/备份失败:权限被拒绝。 这发生在每一个文件和子目录rsync尝试创build。 但是,主目录(备份)已创build。 当我尝试复制文件从Windows资源pipe理器到目录“备份”使用相同的用户丽莎一切顺利。 所以显然,在某个地方存在许可问题。 无论是我的rsync命令是不正确的,或家庭/ Lisa的文件夹权限不正确(但是,然后再次,Windows 7复制文件到该文件夹​​没有任何问题,所以这确实让我相信家园/ Lisa-权限似乎不是问题)。 我也尝试添加:– […]

希望列出rsyncs排除文件忽略的所有文件/目录

我有大约7或8个服务器,我rsync每晚晚上我的本地局域网。 所有这些rsync作业使用通用的excludes.txt来过滤掉我不想镜像的文件或目录。 现在,excludes.txt包含了所有服务器通用的一些dirs,但也包含许多特定于单个服务器的目录(和模式)。 当然,他们都混杂在一起,没有注释。 我试图得到所有这一切的处理,并将所有服务器特定的模式转移到单独的文件,具体为每个单独的服务器。 我还不确定如何最好的去做,因为从我看到从手册页,rsync不提供任何选项来显示它忽略哪些文件/目录。 有什么build议吗?

rsync服务器端限制带宽/连接

在一个VOIP应用程序中,我每天从那里的linux服务器获得3000个客户端的rsyncaudio文件,服务器放置在一个数据中心(10Mbpsinput/输出),服务器作为运行FreeSWITCH的VOIP sip服务器应该保证。) 因此,我想有服务器端控制的rsync控制: 限制总出站带宽。 限制连接总数。 (在最大连接数时拒绝客户端,并在特定时间段后重试。) 可选:列出/杀死个人连接。 通常情况下,我会使用ssh + rsync + pem_keys和其他一些选项,但是以上的要求并不适用于简单的命令行。 任何人都可以指出一些方向。 或者显示一些脚本/工具? 我也可能将它们集成并在github上发布。 谢谢!