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进程管理模块forever详解
Jun 01 NodeJs
nodejs之请求路由概述
Jul 05 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
实例分析nodejs模块xml2js解析xml过程中遇到的坑
Mar 18 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
NodeJs中express框架的send()方法简介
Jun 20 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python实现祝福弹窗效果
2019/04/07 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
动物科学专业毕业生的自我评价
2013/11/29 职场文书
英语商务邀请函范文
2014/01/16 职场文书
自荐信格式简述
2014/01/25 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
小学毕业感言500字
2014/02/28 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
财产保全担保书
2015/01/20 职场文书
出生公证书
2015/01/23 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书