海量文件+文件夹+目录移动

海量文件+文件夹+目录移动

因此,我们有一堆旧且过时的 src 文件,需要移动到新的 NAS 存储中。 (我不知道为什么我们要保留它们)。

  • 是否可以将所有文件和文件夹及其目录复制到新驱动器?
  • 新存储驱动器上尚未创建目录。
  • 命令可以做到这一点还是我必须编写脚本?

有人做过类似的事情吗?

答案1

是的,如果您的系统可以访问 src 文件和 NAS,则可以执行此操作。有多种方法可以使用单个命令来完成此操作,但该工具rsync可能是最好的方法:

$ sudo rsync -avz src /mnt/NAS/

开关(来自 rsync 手册页):

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose               increase verbosity
-z, --compress              compress file data during the transfer

所以这个-a开关实际上是一个用于整个开关的宏:

-r, --recursive             recurse into directories
-l, --links                 copy symlinks as symlinks
-p, --perms                 preserve permissions
-t, --times                 preserve modification times
-g, --group                 preserve group
-o, --owner                 preserve owner (super-user only)
-D                          same as --devices --specials

以 root 身份运行

您需要以 root 身份运行它以保留文件+目录的权限和所有权。此特定 root 用户还需要访问 NAS。有时默认情况下不会设置此功能,因此如果您不是管理员,则可能需要管理员的帮助。

开始之前

通常,您需要对相关目录进行一些前期分析,以查看是否存在任何符号链接或 fifo 类型文件。这些将需要额外的开关,rsync以便它在目标目录中正确地重新创建它们。

无法直接安装访问 NAS

如果您无法将 NAS 直接安装在可以访问 src 文件的同一机器上,则一切都不会丢失。也可以rsync过去ssh

$ sudo rsync -avz src root@remoteserver:/mnt/NAS/.

如果这些都不满足您的需求,还有更高级的选项。

相关内容