今天要完成一个任务:
任务描述
Step1:从大机(mainframe)上下载指定的gdg最新的2个generation到本地C:\gdg目录下。
Step2:将这些下载下来的gdg文件发送到指定的ftp服务器的/topath/users-4/
目录下面,每天新建一个目录yyyymmdd
用来存放当天的gdg文件。
Step3:不用OPC等大机上面的scheduling工具,用windows的“计划任务”功能即可。
这里是实现以上任务的批处理脚本ftpscript.bat
。放在C:\ftpscript
.bat,之后在windows计划任务里面添加每天定时运行即可。
@echo off
rem 指定mainframe的IP
set mfIP=xxx.xxx.xxx.xxx
rem 指定mainframe用户名
set mfUser=IBMUSER
rem 指定mainframe密码
set mfPass=MFPASSWD
rem 指定从FTP下载下来的gdg存放到本地目录C:\gdg
set LocalFolder=C:\gdg
rem 指定将下载下来的文件发送到哪一个目标ftp server上面去
set toftpServer=xxx.xxx.xxx.xxx
set toftpuser=FTPUSER
set toftppass=TOFTPPASS
rem 事先清空本地目录C:\gdg,然后从大机上面下载最新的gdg放到这里
cd %LocalFolder%
del /s /q /f *.*
rem 拼装ftp命令到C:\TempFTP.txt里面,最后用ftp.exe -n -s:"%ftpFile%" 执行里面的命令
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
rem 第一步:从大机上面下载文件放到C:\gdg目录 (前面已做清空)
echo open %mfIP%
echo user %mfUser%
echo %mfPass%
echo lcd "%LocalFolder%"
echo ascii
echo disconnect
rem echo site RECFM=VB LRECL=2548 BLKSIZE=27998
echo get "'IBMUSER.TESTGDG.ASPA.EXTRACT(0)'"
echo get "'IBMUSER.TESTGDG.ASPA.EXTRACT(-1)'"
rem 第二步:在目标ftp上新建一个yyyymmdd目录,将C:\gdg目录下所有的文件传到该目录下
echo open %toftpServer%
echo user %toftpuser%
echo %toftppass%
echo cd /topath/users-4/
rem echo echo %date% %time%
echo mkdir %Date:~10,4%%Date:~4,2%%Date:~7,2%
echo cd %Date:~10,4%%Date:~4,2%%Date:~7,2%
echo put "'IBMUSER.TESTGDG.ASPA.EXTRACT(0)'" "IBMUSER.TESTGDG.ASPA.EXTRACT(0)"
echo put "'IBMUSER.TESTGDG.ASPA.EXTRACT(-1)'" "IBMUSER.TESTGDG.ASPA.EXTRACT(-1)"
echo pwd
echo ls -all
echo bye
)
cd ..
start c:\windows\system32\ftp.exe -n -s:"%ftpFile%"
Comments !