Как сделать резервную копию Mongodb с node js - PullRequest
0 голосов
/ 03 февраля 2020

Я пишу код автоматического резервного копирования mongodb, но застрял в некоторой ошибке: mongodump не распознается как внутренняя или внешняя команда. кто-нибудь может мне помочь?

или есть другой способ получить автоматическое резервное копирование с mongodb

exports.dbAutoBackUp = () => {

        let cmd =
        'mongodump --host ' +
        dbOptions.host +
        ' --port ' +
        dbOptions.port +
        ' --db ' +
        dbOptions.database +
        ' --username ' +
        dbOptions.user +
        ' --password ' +
        dbOptions.pass +
        ' --out ' +
        newBackupPath;

        exec(cmd, (error, stdout, stderr) => {
            console.log("Error : "+error)
            console.log("Error 1: "+stdout)
            console.log("Error 2: "+stderr)
        if (this.empty(error)) {
            // check for remove old backup after keeping # of days given in configuration.
            if (dbOptions.removeOldBackup == true) {
            if (fs.existsSync(oldBackupPath)) {
                exec('rm -rf ' + oldBackupPath, err => {
                    console.log(err);
                });
            }
            }
        }
        });
    }
};

1 Ответ

0 голосов
/ 03 февраля 2020

Ошибка, вероятно, из-за того, что вы не находитесь в каталоге, в котором находится исполняемый файл mongodb. Есть два способа сделать это.

  1. изменить каталог на путь установки mongodb
  2. Добавить исполняемый файл mongodb в переменные среды

Путь должен быть что-то вроде

{installation_directory}:\Program Files\MongoDB\Server\{version}\bin

Например C:\Program Files\MongoDB\Server\4.2\bin

...