Я использовал 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.
Первые два байта вашего файла, 0x1f
0x8b
, являются магическим числом, обозначающим gzip формат сжатия файлов. Скорее всего, вы сохранили эти файлы в сжатом виде в корзине, чтобы их могли загружать браузеры в их сжатом формате, используя меньшую полосу пропускания, и они были синхронизированы с вашим компьютером точно так же, как они существовали в S3.
Для проверки сделайте копию в безопасном месте, затем - работая только с копией, а не с оригиналом - переименуйте один тестовый файл, например foo.css
к foo.css.gz
, затем запустите gzip -d foo.css.gz
. Это должно оставить вас с файлом с именем foo.css
с контентом в более узнаваемой форме.