node.js - 如何使用 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 环境中。
在这里,我需要将相同的文件存储在容器之外,这意味着在服务器根目录中。请帮我解决这个问题。
解决方案
推荐阅读
- c - 为什么C中的矩阵会发生这种情况?
- python - 从python通过cmd执行php的问题
- bash - 将下载的文件从 sftp 移动到 s3 存储桶中的自定义路径
- java - Java Spring 拦截器
- html - 可访问性自动化测试
- android - 在 Android 12/API 31 中,地理围栏不适用于 IMMUTABLE 未决意图。为什么?
- javascript - 在另一个订阅中返回订阅数据
- javascript - 无法通过获取 api 将带有选项的选择器添加到 DOM
- c# - 将 MouseWheel 行为从悬停更改为集中控制
- flutter - Flutter,需要帮助如何使它成为 tabitems