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 相关文章推荐
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
nodejs简单实现操作arduino
Sep 25 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
简单好用的nodejs 爬虫框架分享
Mar 26 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
劣质的PHP代码简化
2010/02/08 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python实现微信机器人的方法
2019/09/06 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
安全检查验收制度
2014/01/12 职场文书
环保志愿者活动总结
2014/06/27 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014年变电站工作总结
2014/12/19 职场文书
学生保证书格式
2015/02/27 职场文书