我有一个包含在目录中的数据集,该目录包含大约30,000个子目录。这些目录中的每一个都包含一个文本文件和另一个子目录。该子目录包含一些文本文件(范围从0个文本文件到数百个)。我的许多同事都使用这个数据集,但是因为它需要至少6个小时才能将数据集从实验室中的一台计算机/硬盘传输到另一台 - 不是因为数据集的大小,而是因为繁琐存储它的格式。我想创建一些存档(例如.tar.gz)来存储这些数据,以便它们可以在计算机之间快速传输。我想看看有没有人之前曾经使用过这样的东西,能告诉我最快,最好的方法吗?我认为shell脚本可能比仅仅自己创建存档更快。
答案 0 :(得分:0)
建议:NFS挂载目录。然后一个Windows框或一个unix框可以访问该目录。
评论:像这样的目录结构是文件系统中inode的坏消息,也增加了搜索时间。
答案:这适用于任何符合POSIX标准的unix框,并假设您的存储库只有一个基本目录 -
cd /path/to/archive; tar cvf mycharhive.tar ./archive_dir; gzip myarchive.tar
这会创建一个相对路径tar存档 - 这意味着您可以将其解压缩到低级目录,而不是从根目录解压缩。