在删除存储桶之前,我使用 AWS CLI 将我的 S3 存储桶同步到我的计算机。同步后我没有注意到这一点,但现在我意识到我的大多数文件都已变成十六进制文件 (?)。例如,我现在拥有的 CSS 文件如下所示:
1f8b 0800 632b 405b 02ff cd5c 4d93 e4b8
71bd fb57 9477 439e 1945 574f 83f5 5d1d
b256 b643 111b b10a 1d56 071d 7c01 49b0
0ad3 24c1 01c1 eeae e998 ff6e 8044 b2c0
ea07 7a1d 7bb1 0eab 69e0 0104 8187 4466
e2b1 3eff f15f ff65 f1c7 c5e2 afaa 368b
bfbc 8856 5562 b1be 4fee 1f16 e965 f153
ce9f c589 d7f9 65b1 5c9c 8d69 8e9f 3f17
等等。
我的文件并非全部都已转换,但似乎没有明显的文件转换模式。据我所记得,文件大小似乎与原始未损坏的文件大致一致。
这是我的文件在同步时损坏了还是发生了其他事情?我可以做些什么来恢复我的文件吗?我再也无法访问原始 S3 存储桶了。
答案1
文件的前两个字节0x1f
0x8b
是表示压缩文件压缩格式。您可能已将这些文件以 gzip 格式存储在存储桶中,以便浏览器可以以压缩格式下载它们,从而减少带宽,并且它们已完全按照 S3 中的形式同步到您的计算机。
要验证,请在安全的地方制作一份副本,然后 -- 只对副本进行操作,而不是原始文件 -- 重命名一个测试文件,例如重foo.css
命名为foo.css.gz
,然后运行gzip -d foo.css.gz
。这样您应该会得到一个名为 的文件,foo.css
其内容以更易于识别的形式呈现。