我正在将文件从Ubuntu服务器移动到Snow Leopard服务器。 Ubuntu服务器的NFS共享大约6TB,我想克隆到雪豹服务器。
我在Snow Leopard服务器上安装了nfs共享,然后运行
rsync -av /Volumes/FromUbuntu /Volumes/LocalCopy
它复制大约100GB后,它抱怨文件已经消失。 我假设由于某种原因,NFS链接将陈旧? 什么可能导致这个? Ubuntu服务器没有崩溃,并没有我知道的连接问题。 我不介意反复运行到rsync命令,直到复制完成,但它只需要约6个小时的rsync,使其文件列表。
有什么build议么? 通过SSH进行rsync会更快吗? 谢谢!
(PS:我试过只是使用'cp -arv'似乎没有失败,但根据Mac上的networkingstream量监视器,似乎需要两倍的时间来rsync复制文件rsync之后build立其文件列表?)
更新:我试图从SSH服务器到Ubuntu服务器的ssh通过rsync,它似乎已经快得多(创build一个文件列表并花费不到两个小时,并开始传输,当从NFS安装rsyncing大约六个小时,只是为了build立最初的文件列表)。它肯定看起来像在Mac上安装NFS共享有一些问题。 有没有人有这个问题? 那么反过来,在Ubuntu客户端的Mac上安装nfs共享呢? 我打算在Mac上为Ubuntu客户端托pipe一个NFS共享,但现在我感到紧张。 感谢您的input!
据我所知,“文件已经消失”的条件不是rsync的致命错误条件,并且该过程应该继续很好。 你是说在报告“消失的文件”消息时, rsync停止了吗?
如果您正在备份一个实时文件系统,则始终可以从rsync获取“消失”消息。 在rsync将文件添加到其传输列表的时间以及rsync实际获取读取它的时间之间,文件可能因任何数目的合法原因而“消失”(例如,临时locking文件已被删除,或文件被重命名)。 请注意,有些应用程序通过创build和删除隐藏的锁文件解决了NFS文件locking的局限性, rsync可能会看到其中的一些。
我build议在备份时将源文件系统保持为静态。 理想情况下,除备份过程之外,没有其他人可以访问它,但是我意识到这可能是不可行的。 如果您的源文件系统位于LVM逻辑卷上,则可以考虑创build只读快照以用作备份源。
这是文件名中特殊字符的问题,如下所述: https : //superuser.com/questions/91967/rsync-character-set-problems
我在日常的备份脚本中做了什么,这个脚本是一个rsync包装器:
#!/bin/bash rsync "$@" 2> >(grep -v vanished) ret=$? ((ret==24)) && exit 0 || exit $ret