mongodb - 如何在服务器上执行 mongodump 并使用 golang 将其传输到本地计算机?

标签 mongodb go ssh portforwarding mgo

我编写了一个 go 程序(基本上就是本例中的代码 Simple SSH port forward in Golang ),它通过创建 ssh 隧道连接到远程 mongodb 服务器。我可以使用 mgo api 查询服务器。现在,我不想每次都查询服务器,而是想将数据库的一些集合复制到本地计算机并在本地查询。需要注意的是,我无法将其直接复制到本地计算机,因为涉及端口转发。我怎样才能实现这个目标?

最佳答案

你正在重新发明轮子。使用 cron 创建到目标的 ssh 隧道,然后使用本地 mongodump 连接到本地隧道端点

ssh -f <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d6a3a5b3a496bbb9b8b1b9b2b4f8b3aeb7bba6bab3f8b5b9bb" rel="noreferrer noopener nofollow">[email protected]</a> -L 27017:mongodb.example.com:27017 -N
mongodump localhost:27017 <your opts here>

关于mongodb - 如何在服务器上执行 mongodump 并使用 golang 将其传输到本地计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450931/

相关文章:

Python SSH/SFTP 模块?

java - 执行多个 ssh 命令并获取每个命令的结果

python - 如何在Python中的这段代码中以正确的json格式获取输出

mongodb - 单实例 Mongodb 副本集 - 无法执行查询/插入操作

go - 你如何明确地找到一个字段为 NULL 的记录?

go - 为什么变量是零,尽管我把对象的引用放在那里

javascript - 无法在 Node JS 应用程序中连接 MongoDB

Mongodb不能使用部分(...)遍历元素({... : undefined})]

go - 编码成 bson.Raw

linux - 远程bash脚本执行