我继承了一个专有的分布式存储系统,该系统通过 NFS 公开其文件。我需要将这些文件移出系统。问题是,在列出(更不用说移动)哪怕一小部分文件之前,NFS 链接就被报告为过时。当前的解决方案是每次调用cp -aur *
失败时重新启动 NFS 客户端,但随着已复制文件数量的增加,这种方法变得非常低效。
有什么建议吗?
答案1
改用 rsync。
$ rsync -rav /path/to/nfsmount /path/to/local
如果您不想让它太冗长,您可以删除“v”并列出文件。如果 nfs 挂载在完成之前过期,只需再次运行它,rsync 将仅复制它错过的内容。
答案2
过去当我遇到这种情况时,我总是一次复制一个目录,这样就不必每次都从头开始。
或者,我会先编写一个 shell 脚本,反复调用“cp”来一次复制一个文件。然后,当它失败时,我会编辑该 shell 脚本以删除引用已成功复制的文件的行,然后重新启动该脚本。