31 lines
818 B
JavaScript
31 lines
818 B
JavaScript
|
'use strict';
|
||
|
|
||
|
let config = require('config');
|
||
|
let spawn = require('child_process').spawn;
|
||
|
let log = require('npmlog');
|
||
|
|
||
|
log.level = 'verbose';
|
||
|
|
||
|
function createDump(callback) {
|
||
|
let cmd = spawn('mysqldump', ['-h', config.mysql.host || 'localhost', '-P', config.mysql.port || 3306, '-u', config.mysql.user, '-p' + config.mysql.password, '--opt', config.mysql.database]);
|
||
|
|
||
|
cmd.stdout.pipe(process.stdout);
|
||
|
cmd.stderr.pipe(process.stderr);
|
||
|
|
||
|
cmd.on('close', code => {
|
||
|
if (code) {
|
||
|
return callback(new Error('mysqldump command exited with code ' + code));
|
||
|
}
|
||
|
return callback(null, true);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
createDump(err => {
|
||
|
if (err) {
|
||
|
log.error('sqldump', err);
|
||
|
process.exit(1);
|
||
|
}
|
||
|
log.info('sqldump', 'MySQL Dump Completed');
|
||
|
process.exit(0);
|
||
|
});
|