数据每天压缩后自动上传FTP的实现方法.docx

上传人:b****5 文档编号:3193483 上传时间:2022-11-20 格式:DOCX 页数:11 大小:26.15KB
下载 相关 举报
数据每天压缩后自动上传FTP的实现方法.docx_第1页
第1页 / 共11页
数据每天压缩后自动上传FTP的实现方法.docx_第2页
第2页 / 共11页
数据每天压缩后自动上传FTP的实现方法.docx_第3页
第3页 / 共11页
数据每天压缩后自动上传FTP的实现方法.docx_第4页
第4页 / 共11页
数据每天压缩后自动上传FTP的实现方法.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据每天压缩后自动上传FTP的实现方法.docx

《数据每天压缩后自动上传FTP的实现方法.docx》由会员分享,可在线阅读,更多相关《数据每天压缩后自动上传FTP的实现方法.docx(11页珍藏版)》请在冰豆网上搜索。

数据每天压缩后自动上传FTP的实现方法.docx

数据每天压缩后自动上传FTP的实现方法

CPDatalog每天自动上传FloorVision的脚本

PhilMaoAsofMar31,2015

1、服务器用“天机企业文件同步备份系统”或“SecondCopy”把每个测试机台的数据存放到服务器本地硬盘,注意:

本地硬盘的任何文件夹不能带空格(DOS批处理对带空格的文件夹要引号,引号用多了,容易出错。

2、设定服务器的日期格式为YYYY-MM-DD,如下图

3、在F盘建2个文件夹

F:

\ToFVServer\Analog

F:

\ToFVServer\Discrete

4、创建下面的脚本,并保存为.bat批处理文件。

1)复制*.st*,如*.std,*.std_1等,并自动上传到FloorVision

for/d%%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%%f\*.st*F:

\ToFVServer\Analog//复制文件

F:

//进入F盘

CDToFVServer\Analog//切换到ToFVServer\Analog目录

for/f%%iin('dir/b*.*')do(if%%~zilss102400(del/f/q"%%i"))//删除<100K的文件

D:

//进入D盘

CDSoftware\FlashFXP//切换到Software\FlashFXP目录

flashfxp-uploadftp:

//diodes:

Mxme+09@@-localpath="F:

\ToFVServer\Analog\"-remotepath="/SKE_CP/"–quit//上传完自动退出

F:

CD\

CDToFVServer\Analog

mkdirF:

\ToFVServer\Analog_%Date%//新建Analog_%Date%,存放已上传数据

move*.*F:

\ToFVServer\Analog_%Date%//移动文件

2)复制*.jdf,并自动上传到FloorVision

说明:

SKEData在2015这个目录下

for/d%%fin(E:

\CPDatalog\Discrete\2015\*,E:

\CPDatalog\Discrete\2015\SKEData\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%%f\Data\*.jdfF:

\ToFVServer\Discrete//复制文件

F:

//进入F盘

CDToFVServer\Discrete//切换到ToFVServer\Discrete目录

for/f%%iin('dir/b*.*')do(if%%~zilss5120(del/f/q"%%i"))//删除<5K的文件

D:

//进入D盘

CDSoftware\FlashFXP//切换到Software\FlashFXP目录

flashfxp-uploadftp:

//diodes:

Mxme+09@@-localpath="F:

\ToFVServer\Discrete\"-remotepath="/SKE_CP/"–quit//上传完自动退出

F:

CD\

CDToFVServer\Discrete

mkdirF:

\ToFVServer\Discrete_%Date%//新建Discrete_%Date%,存放已上传数据

move*.*F:

\ToFVServer\Discrete_%Date%//移动文件

5、任务计划程序,创建一个每天23:

55分运行的任务,选中上述第4步建立的批处理文件作为执行文件。

数据就可以每天自动上传了。

Analog和Discrete同时上传的脚本:

不压缩&删除小于一定大小的数据不完整文件

在F盘建一个文件夹:

F:

\ToFVServer\rawdata

for/d%%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%%f\*.st*F:

\ToFVServer\rawdata

F:

CDToFVServer\rawdata

for/f%%iin('dir/b*.*')do(if%%~zilss102400(del/f/q"%%i"))

for/d%%fin(E:

\CPDatalog\Discrete\2015\*,E:

\CPDatalog\Discrete\2015\SKEData\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%%f\Data\*.jdfF:

\ToFVServer\rawdata

for/f%%iin('dir/b*.*')do(if%%~zilss5120(del/f/q"%%i"))

D:

CDSoftware\FlashFXP

flashfxp-uploadftp:

//diodes:

Mxme+09@@-localpath="F:

\ToFVServer\rawdata\"-remotepath="/SKE_CP/"–quit

F:

CD\

CDToFVServer\rawdata

mkdirF:

\ToFVServer\rawdata_%Date%

move*.*F:

\ToFVServer\rawdata_%Date%

 

补充说明:

同一个语句中,单独运行和批处理运行,变量略有差异,即%和%%。

单独运行:

for/d%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%f\*.st*F:

\ToFVServer\rawdata

批处理运行:

for/d%%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%date:

~5,10%-%date:

~2,2%%%f\*.st*F:

\ToFVServer\rawdata

 

数据上传方式的改进:

Apr8,2015

1、延迟1天或任意天上传

2、数据压缩方式:

(1)多个文件一起压缩到1个包内

(2)单个文件压缩

先前脚本总结:

优点:

用FlashFXP上传,只要外网是通的,不会出现上传失败的情况。

注意要设重新连接和上传次数为9999,防止可能的断网,FlashFXP会自动重连。

缺点:

因为使用SecondCopy软件,每隔1小时,2小时或4小时,抓数据,导致原设定的每天23:

55自动执行,可能出现当天的部分数据遗漏的情况(即恰逢SecondCopy最后一次没有执行)。

所以我增加了很多代码,改成了延迟一天上传:

即4月8日只上传4月7日这天的数据,4月7日只上传4月6日这天的数据,以此类推。

代码修改部分:

(1)用数据方法计算减1天的正确日期:

可以修改代码设定延迟任意一天。

(2)用forfiles命令(Win7,WindowsServer2003及以上包含这个命令)自动删除当天的文件。

比如4月8日上传的时候,删除4月8日的文件,防止重复上传。

(可以修改代码删除任意天之前或之后的文件)

(3)计划任务可设定在任意时间点运行:

但为了确保数据的完整性,目前我设定在5:

00am之后运行,这样可确保前一天数据的完整性。

 

Rem//延迟1天,并且TUGzip把多个文件压缩到1个包内,Analog和Discrete分开压缩//

@echooff

remGetdesignatedpreviousdate.DaysAgo=1meansgetthedate1daybefore.

setDaysAgo=1

remsystemdateformatshouldbeyyyy-mm-dd

call:

DateToDays%date:

~0,4%%date:

~5,2%%date:

~8,2%PassDays

set/aPassDays-=%DaysAgo%

call:

DaysToDate%PassDays%DstYearDstMonthDstDay

setCPYDate=%DstMonth%-%DstDay%-%DstYear%

echo%CPYDate%

 

remBeginofDiscreteCopyFilesandCompress

for/d%%fin(E:

\CPDatalog\Discrete\2015\*,E:

\CPDatalog\Discrete\2015\SKEData\*)doxcopy/Y/D:

%CPYDate%%%f\Data\*.jdfF:

\ToFVServer\Discrete

F:

CDToFVServer\Discrete

del/f/qSP*.jdf

for/f"delims="%%iin('dir/b*.*')do(if%%~zilss10240(del/f/q"%%i"))

CD\

forfiles/PF:

\ToFVServer\Discrete/M*.*/D%Date%/C"cmd/cdel/F/Q@file"

D:

CD\

CDSoftware\TUGZip

TzScript-v4DiscreteToFV.tzs

CD\

F:

CDToFVServer\Discrete

mkdirF:

\ToFVServer\Backup\Discrete_%Date%

move*.*F:

\ToFVServer\Backup\Discrete_%Date%

CD\

remEndofDiscreteCopyFilesandCompress

 

remBeginofAnalogCopyFilesandCompress.UploadingBothDiscreteandAnalogCompressedFile.

for/d%%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%CPYDate%%%f\*.logF:

\ToFVServer\Analog

for/d%%fin(E:

\CPDatalog\Analog\2015\*)doxcopy/Y/D:

%CPYDate%%%f\*.st*F:

\ToFVServer\Analog

F:

CDToFVServer\Analog

for/f"delims="%%iin('dir/b*.*')do(if%%~zilss102400(del/f/q"%%i"))

CD\

forfiles/PF:

\ToFVServer\Analog/M*.*/D%Date%/C"cmd/cdel/F/Q@file"

D:

CDSoftware\TUGZip

TzScript-v4AnalogToFV.tzs

CD\

 

CDSoftware\FlashFXP

flashfxp-uploadft

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1