MongoDb 2.6 归档问题

Posted

技术标签:

【中文标题】MongoDb 2.6 归档问题【英文标题】:MongoDb 2.6 issue with archiving 【发布时间】:2022-01-11 19:32:14 【问题描述】:

美好的一天,我坚持使用用于备份 mongodb 集合的脚本,2.6 版本不支持 --gzip 后缀,有没有办法使用其他方式来存档集合,并在需要时安全地做mongorestore?非常感谢您阅读我的帖子。

#specify collections
collection_list="students loans.lib help.archive"
#if its running on local machine:
host="127.0.0.1"
port="27208"
#where to dump:
out_prefix="/apps/mongodb/uni/backup/mongodump"
for collection in $collection_list; do
        echo $collection
        out_dir="$out_prefix/$db_$collection.$(date +%Y.%m.%d)/"
        mkdir -p $out_dir
        /apps/mongodb/server/2.6.2/bin/mongodump -u  -p --host $host --port $port -d $db --collection $collection --out $out_dir
done

--gzip 无法识别 :( 附言我无法升级我们的旧大学 mongodb,我们没有预算。

【问题讨论】:

/apps/mongodb/server/2.6.2/bin/mongodump -u -p --host $host --port $port -d $db --collection $collection --gzip -- out $out_dir ;- 我试图把它放在那里,但 mongodump 说该命令无法识别,感谢您在我的帖子中大量评论 老版本的 mongodb 不支持 --gzip 标志并且无法存档的问题,我想问有没有办法如何存档这个集合?非常感谢 您问题中的脚本似乎创建了数据库转储;它不会压缩它们,显然是因为它不是受支持的标志。您是在问如何压缩生成的转储文件? 是的,以确保将它们解压缩到一个脚本中。抱歉,我刚开始编写 bash 脚本,对我来说有些遗留问题很痛苦 :( 【参考方案1】:

如果您需要在没有 mongodb 3.2 中引入的“--gzip”选项的情况下即时压缩,您可以在 linux 中执行以下操作:

 mongodump -d yourDB -c yourCOL -o - | gzip > yourDByourCOLdump.gz

要恢复它,你可以这样做:

 gunzip yourDByourCOLdump.gz
 mv yourDByourCOLdump yourDByourCOLdump.bson
 mongorestore -d yourDB -c yourCOL yourDByourCOLdump.bson

【讨论】:

以上是关于MongoDb 2.6 归档问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ejabberd 中归档消息并存储在 MongoDB 中

通过Yum更新MongoDB 2.6 to 3.0

通过Yum更新MongoDB 2.6 to 3.0

MongoDB3.2.6 副本集 和主从

mongodb 每次都要创建索引吗

MongoDB 2.6复制集单节点部署