Articles of rsync

有没有可能使用rsync的sftp(没有SSHshell)?

Rsync通过SSH,每次都很好。 但是,试图rsync到只允许sftplogin但不sshlogin的主机,提供了以下错误: rsync -av / source ssh user @ remotehost:/ target / 协议版本不匹配 – 你的shell是干净的吗? (请参阅rsync手册页以获取解释)rsync错误:compat.c(171)处的协议不兼容(代码2)[sender = 3.0.6] 以下是rsync手册页中的相关部分: 此消息通常是由您的启动脚本或远程shell工具在rsync用于传输的stream上产生不需要的垃圾引起的。 诊断这个问题的方法是像这样运行你的远程shell: ssh remotehost /bin/true > out.dat 然后看看out.dat。 如果一切工作正常,那么out.dat应该是一个零长度的文件。 如果您从rsync获得上述错误,那么您可能会发现out.dat包含一些文本或数据。 看看内容,并试图找出是什么产生它。 最常见的原因是错误地configuration了包含非交互式login输出语句的shell启动脚本(如.cshrc或.profile)。 在我的系统上尝试这个在out.dat中产生了以下内容: ssh-dummy-shell:命令不允许。 正如我所想,主机不允许SSHlogin。 以下链接显示可以使用sshfs使用保险丝来完成此任务 – 但是它非常慢,不适合生产使用。 有没有机会获得rsync sftp的工作?

协议版本不匹配 – 你的shell是干净的吗?

当按照说明做rsync备份在这里给出: http : //troy.jdmz.net/rsync/index.html 我得到错误“协议版本不匹配 – 你的shell是干净的吗? 我读了一些我需要沉默的提示(PS1 =“”)和motd(.hushlogin)显示来处理这个问题。 我这样做了,提示和login横幅(MOTD)不再出现​​,但运行时仍出现错误: rsync -avvvz -e "ssh -i /home/thisuser/cron/thishost-rsync-key" remoteuser@remotehost:/remote/dir /this/dir/ ssh客户端和sshd服务器都使用协议的版本2。 可能是什么问题呢? 谢谢。 [编辑]我发现http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html指示有时需要“强制V2使用-2标志ssh或slogin ssh -2 -i ~/.ssh/my_private_key remotemachine" 目前还不清楚这是否解决了这个问题,因为我认为在错误发生变化之后把这个变化放在了错误之后,但是事实上错误已经演变到另外一个东西了。 当我了解更多时,我会更新这个。 我一定会尝试在emacs shell中运行这个build议 – 谢谢。

Rsync在目标目录中创build一个具有相同名称的目录

当我运行这个命令 rsync -avzp –del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests 文件得到了同步,但不是将文件保存在/var/www/tests ,Rsync在现有的“testing”中创build一个更多的“testing”目录: /var/www/tests/tests 并把文件放在那里。 如何告诉Rsync不要创build一个新的目录?

执行rsync同时遵循sym链接

我有一个目录,其中包含位于系统上不同媒体上的其他目录的符号链接: /opt/lun1/2011 /opt/lun1/2010 /opt/lun2/2009 /opt/lun2/2008 /opt/lun3/2007 但符号链接显示为: /files/2011 /files/2010 /files/2009 /files/2008 /files/2007 我如何执行符号链接之后的rsync ? 例如: rsync -XXX /files/ user@server:/files/

如何保持rsync的完整path?

在使用rsync进行备份时,如何保留完整的目录结构? 例如,远程服务器是saturn ,我想将saturn的/ home / udi / files / pictures 备份到一个名为backup的本地目录。 我想有(本地) 备份/家庭/ UDI /文件/图片,而不是备份/图片 。

最喜欢的rsync提示和技巧

我使用rsync越多,我越发觉到这是一个瑞士军刀的文件传输。 有这么多的select。 我最近发现你可以–remove-source-files ,当它被复制的时候,它会从源文件中删除一个文件,这使得它更有趣一些,而不是复制程序。 🙂 你最喜欢的rsync提示和技巧是什么?

如何保持Rsync不被传输的文件?

我有一个Linux服务器上的远程文件系统的sshfs连接设置。 我正在从本地服务器到ftpfs文件系统执行Rsync。 由于这个设置的性质,我不能在sshfs文件系统上find任何东西。 当我做Rsync的时候,它试图在传输它们之后把所有的文件剪下来。 这导致chown错误,即使它传输文件就好了。 有了Rsync,有没有办法告诉它不尝试和chown文件? 如果我rsync像1000个文件,我最终以1000 chown: permission denied (error 13)错误的日志。 我知道这并不会损害任何东西,因为这些文件的所有权是由sshfsconfiguration本身决定的。 但是,如果没有得到它们将会很好。

–checksum和–ignore-times选项之间的rsync差异

任何人都可以澄清rsync的–checksum和–ignore-times选项之间的区别? 我的理解如下: –checksum 如果文件大小和时间匹配,则会在两端执行校验和以查看文件是否真的相同。 –ignore-times 无论两端的文件时间是否相同,都要传输每个文件。 由于它仍将使用delta转换algorithm,如果一个文件实际上是相同的,则不会传送任何文件。 这是技术上的差异,但据我所知,它们在语义上是相同的。 所以,我想知道的是: 这两种select的实际区别是什么? 在什么情况下你会使用一个而不是另一个? 他们之间有什么performance差异?

Rsync在一个50 GB的文件上触发了Linux OOM杀手

我在server_A上有一个50 GB的文件,并将其复制到server_B。 我跑 server_A$ rsync –partial –progress –inplace –append-verify 50GB_file root@server_B:50GB_file Server_B具有32 GB的RAM,2 GB交换。 它大多是空闲的,应该有大量的可用RAM。 它有足够的磁盘空间。 大约32 GB时,由于远程端closures了连接,传输将中止。 Server_B现在已经退出了networking。 我们要求数据中心重新启动它。 当我查看崩溃之前的内核日志时,发现它使用了0字节的交换,进程列表使用的内存非常小(rsync进程被列为使用600 KB的RAM),但是oom_killer是而且日志里的最后一件事就是杀死metalog的内核读者进程。 这是内核3.2.59,32位(因此无论如何都不能映射超过4GB的进程)。 就好像Linux比caching更优先于长期运行的守护进程。 是什么赋予了?? 我怎样才能阻止它再次发生? 这是oom_killer的输出: Sep 23 02:04:16 [kernel] [1772321.850644] clamd invoked oom-killer: gfp_mask=0x84d0, order=0, oom_adj=0, oom_score_adj=0 Sep 23 02:04:16 [kernel] [1772321.850649] Pid: 21832, comm: clamd Tainted: GC 3.2.59 #21 Sep 23 02:04:16 […]

为什么没有在Windows世界上的rsync?

rsync似乎是Unix / Linux中高效文件备份和同步的事实标准。 有没有人有任何想法,为什么它不会在Windows世界上抓住? 为什么它不成为文件同步的通用“协议”?