Nodejs实现多文件夹文件同步


Posted in NodeJs onOctober 17, 2018

本文实例为大家分享了Nodejs实现多文件夹文件同步的具体代码,供大家参考,具体内容如下

package.json

{
 "name": "asyncFile",
 "version": "0.0.1",
 "dependencies":{
 "fs-sync":"",
 "later":""
 }
}

asycnFile.js

var fsSync = require('fs-sync');
var fs = require('fs');
var util = require("util");
var later = require("later");

//需要同步的文件夹路径
var path = {
 "pathOne": "/home/lincoln/testAsync/dirOne/",
 "pathTwo": "/home/lincoln/testAsync/dirTwo/"
};

//需要同步的文件夹名称
var asyncDir = ["img", "music"];

var dirFilesOne;
var dirFilesTwo;

//读取文件夹信息
function readDir(dirName){
 dirFilesOne = fs.readdirSync(path.pathOne + dirName);
 dirFilesTwo = fs.readdirSync(path.pathTwo + dirName);
}

//使用fs-sync模块拷贝文件信息
function useFileCopy(sourcePath,distPath,copyFiles) {
 for(var index in copyFiles){
  fsSync.copy(sourcePath+copyFiles[index],distPath+copyFiles[index])
 }
}

//统计需要同步的文件信息
function needCopyFiles(sourceFiles, distFiles) {
 var needCopyFiles = [];
 for (var index in sourceFiles) {
  if (distFiles.indexOf(sourceFiles[index]) == -1) {
   needCopyFiles.push(sourceFiles[index]);
   console.log("needAsyncFile-->"+sourceFiles[index]);
  }

 }
 return needCopyFiles;
}

//同步文件
function copyFile(dirName) {
 var sourcePath = path.pathOne + dirName +"/";
 var distPath = path.pathTwo + dirName +"/";

 readDir(dirName)
 useFileCopy(sourcePath,distPath,needCopyFiles(dirFilesOne,dirFilesTwo));

 readDir(dirName);
 useFileCopy(distPath,sourcePath,needCopyFiles(dirFilesTwo,dirFilesOne));
}

//for (var index in asyncDir) {
// //console.log(asyncDir[index])
// console.log(new Date() +" 执行同步--->"+asyncDir[index])
// copyFile(asyncDir[index]);
//}

var sched = later.parse.recur().every(10).second(),
 t = later.setInterval(function() {
  for (var index in asyncDir) {
   //console.log(asyncDir[index])
   console.log(new Date() +" 执行同步--->"+asyncDir[index]);
   copyFile(asyncDir[index]);
  }
 }, sched);

代码只是能用,菜鸟写法,等js这块有深入理解了之后,再修改这块的代码,也希望js大牛指点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
详解webpack打包nodejs项目(前端代码)
Sep 19 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 NodeJs
浅谈Node的内存泄露问题
May 06 NodeJs
深入理解NodeJS 多进程和集群
Oct 17 #NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 #NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 #NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 #NodeJs
nodejs实现范围请求的实现代码
Oct 12 #NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 #NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 #NodeJs
You might like
php adodb介绍
2009/03/19 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
java判断三位数的实例讲解
2019/06/10 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
YUV转为jpg图像的实现
2019/12/09 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
ASP.NET Core中的配置详解
2021/02/05 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
C#公司笔试题
2014/03/28 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
家佳咖啡店创业计划书
2013/12/27 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
采购员岗位职责
2015/02/03 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
刑事上诉状范文
2015/05/22 职场文书