我有一个mongodb服务器(A)和一个http服务器(B)。 我想在http服务器(B)上运行mongodump和mongorestore命令来备份服务器B上的数据。但是这些工具随附了mongodb安装,我不想将mongodb安装到我的http服务器上。
我怎么能做到这一点?
通常,Linux发行版通过单一软件创build多个软件包,例如服务器,客户端,开发者和文档。
例如,在Debian上,可以安装包含mongodump和mongorestore的mongodb-clients软件包,但不安装mongodb服务器。
我知道这是一个相当古老的问题,但是Google使用了我。 在Ubuntu 14.04上,我在/etc/sources.list.d/mongo.list有一个如下行,在/etc/sources.list.d/mongo.list有3.2版本:
deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
源代码包含很less的包。 根据MongoDB手册,它是这样的:
mongodb-org – 将自动安装下面列出的四个组件软件包的元数据包。 mongodb-org-server – 包含mongod守护进程和相关的configuration和init脚本。 mongodb-org-mongos – 包含mongos守护进程。 mongodb-org-shell – 包含mongo shell。 mongodb-org-tools – 包含以下MongoDB工具:mongoimport bsondump,mongodump,mongoexport,mongofiles,mongooplog,mongoperf,mongorestore,mongostat和mongotop。 所以在你的情况下, mongodb-org-tools应该就足够了。
10gen不提供单独的软件包,例如server-clients-dev和doc(用于mongodb)(至less我找不到Ubuntu 10.04)。 所以我只是复制/ usr / bin / mongodstore和/ usr / bin / mongorestore二进制文件到我的HTTP服务器手动(机器是相同的架构)现在我在我的服务器上运行这些命令没有任何MongoDB安装没有问题。
对于那些使用MongoDB的10gen yum存储库在EC2上的Amazon Ubuntu上安装的,我不得不sudo yum install mongo-10gen.x86_64来获取mongo , mongodump , mongorestore和mongos 。
不要忘记,你可以随时sudo yum search mongo …