首页 > 解决方案 > 如何使用 Node.js 在容器外保存 mongodb 备份文件

问题描述

我正在尝试使用 Node.js 中的 cron 作业备份 mongodb。由于我的 node.js 与 docker 一起运行,因此它在 docker 容器中存储文件。我在下面解释我的代码。

const cron = require('node-cron');
const shell = require('shelljs');
// Cron job to take mongodb backup.

cron.schedule('59 20 * * *', function() {
  console.log('---------------------');
  console.log('Running Cron Job');
  if (shell.exec(`mongodump --host 127.0.0.1 -d test-db --port 27017 --out "mongobackup_$(date +'%d_%m_%Y')"`).code !== 0) {
    shell.exit(1);
  }
  else {
    shell.echo('Database backup complete');
  }
});

在这里,我shelljs在每天晚上 9 点使用模块进行 mongodb 备份。但是我的节点服务器是通过 docker 运行的,因此它将备份文件存储在该 docker 环境中。

在这里,我需要将相同的文件存储在容器之外,这意味着在服务器根目录中。请帮我解决这个问题。

标签: node.jsmongodbdocker

解决方案


推荐阅读