我的服务器上有一个作业在命令行提示符下运行了两天:
find data/ -name filepattern-*2009* -exec tar uf 2009.tar {} ;
它正在采取forever, 然后还有一些。是的,目标目录中有数百万个文件。 (在经过良好哈希处理的目录结构中,每个文件只有区区 8 个字节。)但只是运行...
find data/ -name filepattern-*2009* -print > filesOfInterest.txt
……只需要两个小时左右。按照我的工作进展速度,几天之内都无法完成weeks..这似乎不合理。有没有更有效的方法来做到这一点?也许使用更复杂的 bash 脚本?
次要问题是“为什么我现在的手段这么慢?”
一种选择是使用cpio生成 tar 格式的存档:
$ find data/ -name "filepattern-*2009*" | cpio -ov --format=ustar > 2009.tar
cpio本机使用来自标准输入的文件名列表,而不是顶级目录,这使其成为这种情况的理想工具。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)