Поврежденный Пн go Архив - PullRequest
0 голосов
/ 16 июня 2020

Недавно я попытался сделать резервную копию моей текущей базы данных, используя mongodump --archive. Поскольку MongoDB был развернут как контейнер docker и использовалась команда резервного копирования docker exec -it, выгруженный архив содержит разные символы, и, к сожалению, его невозможно восстановить с помощью mongorestore. Вы можете проверить команду резервного копирования по следующей ссылке:

docker exec -it <CONTAINER> sh -c 'mongodump -d db --archive' > db.dump

Поскольку база данных сейчас недоступна, мне нужно восстановить поврежденный архив. С первой попытки я попытался вручную удалить лишние очевидные символы, но этого оказалось недостаточно. Затем я решил использовать Python для анализа архива, но я не смог ни сериализовать его как bson, ни декодировать байты.

Вот это часть архива, которая Python читает двоичный файл:
...\x85\x01\x00\x00\x02db\x00\x08\x00\x00\x00example\x00\x02collection\x00\x14\x00\x00\x00...

Что вы предлагаете по этой проблеме? Вы знаете, что такое кодировка вывода mongodump --archive? Любой ответ будет оценен ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...