0.0.7 • Published 8 years ago

ftp-sync-works v0.0.7

Weekly downloads
3
License
GNU
Repository
github
Last release
8 years ago

node-ftpsync

synchronize files to the server via FTP 通过FTP同步文件到服务器

在使用Zend studio修改项目时,Zs自带的文件上传功能老是卡死, 于是自己用nodejs写了个自己上传项目中修改的文件到服务器

原理是使用chokidar监听文件的更改, 包括添加和删除文件/文件夹 然后使用ftp将文件上传到服务器

##安装

  npm install ftp-sync-works

##使用 在ftp-sync-works目录中打开控制台,

node index.js

##works 由于经常需要多个项目同时修改更新,于是加入了works概念 一个work对应一个项目,可以单独设置FTP连接参数,也可以使用默认的参数. 每个work使用独立的FTP Client进行传输

##配置 edit config.json

{
	"host":"myhost.com",//ftp host
	"user":"ftpusername",//ftp  用户名
	"password":"",//ftp  密码
	"keepalive":60,//ftp 空闲时保持连接的时间
	"pasvTimeout":30,//ftp传输超时
	//"connTimeout":10,//ftp连接超时

	"excludes":["*.svn*"],//排除同步的路径,使用anymatch规则
	"includes":[],//即使被排除了也要同步的路径

	"activeAll":false,//启动时是否连接所有的works工作
	//工作定义
	"works":[
		{
		  //"host":"",
		  //"user":"",默认使用外面的ftp连接
			"name":"ftpsync",
			"clientPath":".",//本地工作目录
			"serverPath":"/node/ftpsync",//服务器端目录
			"autoUpload":true,//文件自动同步到服务器
			"ignoreInitial":true,//如果为false,启动时会把所有文件添加到上传列表,如果autoUpload也为true,则第一次启动时会上传工作目录的所有文件
			"excludes":[/\.works/],
			"includes":[]
		},
		{
			"name":"proj1",
			"enabled":true,//是否启用这个同步工作,默认:true
			"clientPath":"E:/wamp/htdocs/proj1",
			"serverPath":"/web/proj1",
			"autoUpload":true,
			"ignoreInitial":true,
			"excludes":[/.*\.svn.*/,/.*[\/\\]runtime.*/,/resource[\/\\]uploads.*/]

		}
	]	
}

常用命令

输入 workName.changes() 查看所有修改且还没上传的文件 输入 workName.upload() 同步上面列出来的文件到服务器 输入 workName.close() 关闭工作的ftp 输入 closeAll() 关闭所有工作

更多命令

源文件很简单,建议看看源文件ftpsync.js获得其它命令 如果有需要,也可以自己添加一些命令。 输入的命令其实就是调用ftpsync对象的成员

##依赖 chokidar监听文件的更改 ftp FTP客户端 anymatch 路径配置

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago