sync_web开源项目

我要开发同款
匿名用户2014年03月16日
39阅读
开发技术Python
所属分类程序开发、其他开发相关
授权协议MIT

作品详情

将本地的修改通过ftp一键同步到一台或多台服务器上,并且只同步修改内容,非常适合维护一个网站并且经常改动代码的情况。监测文件变动依赖于svn或git,脚本自动检测当前项目所用的版本控制系统。

使用方法:

sync_web配置文件路径

如:

sync_web/etc/syncweb/config.ini

若脚本所在目录下存在config.ini则默认使用该文件做配置文件

需要安装python2.7环境与**svn**|**git**客户端(确保**svn**|**git**命令所在目录加入到环境变量path中,即在终端下可以执行)

在window下多个网站的话比较方便的方法是

右击脚本->发送到桌面快捷方式

右击快捷方式点击属性修改**目标**一栏

在脚本路径后面添加配置文件路径例如D:\Python27\test\sync_web.pyD:\temp\upload_file\config.ini

配置文件格式

config.ini:

[ftp]host = test.com #FTP主机地址port = 21       #FTP端口user = ftp_user #FTP 用户名passwd = ftp_passwdssl = True #是否启用sslwebroot = /web/ #网址相对于ftp根目录的绝对地址 automkdir = true #若服务器上目录不存在是否自动建立lasttime = 0 #或者是当前时间戳[ftp2]host = test2.com #FTP主机地址port = 21       #FTP端口user = ftp_user #FTP 用户名passwd = ftp_passwdssl = True #是否启用sslwebroot = /web/ #网址相对于ftp根目录的绝对地址 automkdir = true #若服务器上目录不存在是否自动建立lasttime = 0 #或者是当前时间戳[local]local_webroot = D:/xampp/web/ log_file = #不存储日志留空prompt=False #同步时是否需要确认,默认False,可空paths= #相对(本地web目录)路径,多个目录用英文逗号"," 分割path1/subpath/,path2 [var]lasttime = 0 #或者是当前时间戳,由于可同时传到了多台服务器,最后修改时间挪到了[ftp]部分去了。所以这里暂时没有用到

需要注意的是

webroot

比如在服务器上网站的绝对路径是/var/www/web/但是ftp登陆后的根目录是/var/www/也就是说不能再往上走了那么你的webroot填写/web/就可以了

paths

paths需要强制检测的目录,不依赖于版本控制软件也就是说即使版本控制忽略了该目录,只有该目录下有文件变动,也会自动上传到服务器另外程序是根据时间戳进行检测的,所以对那些修改名称(文件内容没有变化)的并不会检测到目录结构也尽量不要太复杂

新增ftp

直接复制一份[ftp]节点内容,然后把对应的信息修改下,修改下节点名称,保证前三个字符是ftp就可以

路径

配置文件中的路径不要使用反斜杠\即使是在windows下

忽略目录是按照路径的前几个字符匹配的若设置exclude_path=ign 则会忽略掉ignore1/ignore2/、igno/等目录

若不想这样的话在目录后面加上斜杠exclude_path=ign/

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论