update_revise.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const fs = require('fs');
  10. const path = require('path');
  11. var util = require('util');
  12. const oss = require('ali-oss');
  13. const config = process.argv.splice(2)[0];
  14. if (['local', 'uat', 'default'].indexOf(config) < 0) throw `参数错误: ${config}`;
  15. const options = require(`../config/config.${config}`)({ baseDir: __dirname + '/app', root: __dirname, name: 'calc' });
  16. const ossOption = {
  17. bucket: options.oss.clients.his.bucket,
  18. accessKeyId: options.oss.default.accessKeyId,
  19. accessKeySecret: options.oss.default.accessKeySecret,
  20. endpoint: options.oss.default.endpoint,
  21. timeout: options.oss.default.timeout,
  22. };
  23. const ossClient = new oss(ossOption);
  24. var logPath = path.join(__dirname, 'update_revise.log');
  25. var logFile = fs.createWriteStream(logPath, { flags: 'a' });
  26. console.log = function() {
  27. logFile.write(util.format.apply(null, arguments) + '\n');
  28. process.stdout.write(util.format.apply(null, arguments) + '\n');
  29. };
  30. const filepath = ['/etc/calc/files/revise', 'mnt/files/calc/revise'];
  31. // const filepath = ['/etc/calc/files/xx'];
  32. let iCount = 0;
  33. const updatePath = async function (filepath) {
  34. console.log(`UpdatePath: ${filepath}`);
  35. const files = fs.readdirSync(filepath);
  36. for (const f of files) {
  37. const stat = fs.statSync(path.join(filepath, f));
  38. const ossPath = options.hisOssPath + 'revise/' + f;
  39. if (stat.isFile()) await ossClient.put(ossPath, path.join(filepath, f));
  40. console.log(`UpdateOss: ${path.join(filepath, f)} --> ${ossPath}`);
  41. iCount++;
  42. }
  43. console.log('');
  44. };
  45. const updateAll = async function () {
  46. for (const p of filepath) {
  47. await updatePath(p);
  48. }
  49. console.log(`UpdateOss: ${iCount} files`);
  50. };
  51. updateAll();