Node 执行 shell 命令

在项目中用到了定时执行shell命令的功能:

// runShell.js

const process = require('child_process');
require('colors');

module.exports = (sh, log = '', callback) => {
  log !== '' ? console.log(`[Shell Log]`.green, log) : null;
  console.log(`[ SH ]`.cyan,sh.cyan);
  process.exec(sh, (err,sto) => {
    if (err) {
      console.log(`[Shell Error]`.red, err);
      return
    }
    log !== '' ? console.log(`[Shell Log]`.green, log, 'success') : null;
    console.log(sto);
    callback()
  })
}
// shell.js 

const async = require('async');
const moment = require('moment');
const run = require('./run');
require('colors');

async.waterfall([
    (next) => {
      console.log('######## Export Users #########');
      console.log('Start Time:', moment().format('YYYY-MM-DD HH:mm:ss'))
      next();
    },
    (next) => {
      run('mongoimport -h 127.0.0.1:27017 -d xxx -c users --file /var/www/xxx.json --upsert', '导出文件', next);
    },
  ], (err) => {
    console.log('End Time:', moment().format('YYYY-MM-DD HH:mm:ss'))
    if (err) {
      console.log(`[ExportUsers Shell Error]`.red, err);
    }
  })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。