使用tar -zcvf压缩服务器目录后解压丢失部分文件的问题求助
我知道类似的问题之前有人问过,但这次的情况真的把我搞疯了,来详细说下我的遭遇:
我在服务器上有个名为"data"的目录,里面嵌套了超多子目录。在服务器上执行命令:find data -type f | wc -l
返回的文件总数是23609。
之后我用Mac上的Transmit工具通过FTP把整个data目录完整下载到本地,软件完成后提示"下载了35968个项目"——这个数字是文件加目录的总数,和实际情况匹配,没问题。接着在本地运行同样的find命令,结果也是23609,和服务器上的文件数完全一致。
关键问题出现了:
我在服务器上用这条命令把data目录打包压缩:tar -zcvf /mydir/data.tar.gz /.....directories/data
随后把这个9.54GB的压缩包通过FTP下载到本地,解压后再次执行find命令统计文件数,结果居然是23441!整整少了168个文件。
我用diff工具对比了本地直接下载的目录和解压后的目录,发现有2个子目录完全没出现在压缩包里,还有2个目录只包含了部分文件。这些目录里的文件名都是随机生成的格式,比如7eac63ce-75b3-4b7a-b569-1c5fb0f57f7b,我检查了它们的权限和文件大小,没发现任何异常。其中两个部分缺失的目录分别有3478和1589个文件,完全缺失的两个目录文件数量不多。
我实在搞不懂为什么会出现这种情况,我对这类服务器操作不是很精通,有没有大佬能帮我分析下原因?
我的gzip版本信息如下:
gzip 1.5
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
备注:内容来源于stack exchange,提问作者Mathias

