![如何创建 NFS 共享的镜像?](https://linux22.com/image/523434/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%20NFS%20%E5%85%B1%E4%BA%AB%E7%9A%84%E9%95%9C%E5%83%8F%EF%BC%9F.png)
为了备份和恢复目的,为了淘汰旧服务器,我需要创建一个完美的NFS 共享的镜像。此镜像不是简单的重定向,而是 NFS 共享内容(包括文件权限)的精确副本。
我尝试过一些简单的任务,例如root
使用以下命令复制文件:
cp -pR /path-to-nfs-share/ /local-directory-to-mirror-nfs-share-contents/
不幸的是,上面的命令不会复制所有文件,因为它会permission denied
针对遇到的某些文件和目录返回错误。因此,为了避免潜在的权限问题,我想创建一个完美的文件镜像(即保留所有权限)。
不幸的是,我似乎找不到太多关于执行此任务的文档。这可行吗?
谢谢。
答案1
您是否使用 sudo 发出命令以便获得提升的权限?
对于类似这样的情况,Rsync 也许也能更好地发挥作用。
我建议不要将其视为备份,因为它只是一份副本。备份可防止文件损坏或被删除。制作副本更像是保护资源的可用性。
答案2
您的权限错误可能源于您所在的机器以您的用户 ID 而非 root 身份挂载 NFS 文件系统,这意味着您无法看到整个文件系统。或者,NFS 挂载可能故意为不同的组更改 UID。
rsync -aplxo --delete /nfsmount/ /newmountlocation/
这可能是最好的方法,因为您不想破坏用户 ID,如果您遇到需要停止的情况,它只会移动已更改的文件。您可以暂存它并多次运行,并确保在停用之前拥有完整的副本。