银行系统环境:每天0晨省行传送.Z 文件至SCO机器,第二天上班后解包,传至一台WINDOWS机器上,再由此WINDOWS机器传至另一台WINDOWS机器,其中.TXT文件传至TXT目录,无后缀文件传至BIN目录.因为SCO机器和最终存放文件的WIN机器不在同一网络,所以需要由中间一台WIN中转.
假设省行文件在SCO机器的 /test/jsyh 目录下,在此目录下建立bak目录和tmp目录.要传送的文件为 20060220.tar.z , 其中*.txt文件传送到192.168.3.233机器的txt01目录,其它文件传送到192.168.3.233机器的bin目录,中间中转的机器IP为192.168.3.100
(1)在SCO的/test/jsyh目录下建立 autogunz.sh  更改其属性为可执行 chmod +x autogunz.sh 
cd /test/jsyh/tmp                      清空临时文件夹中的文件 rm *.* cd /test/jsyh                            rq=`date +%y%m%d`                      为变量rq取当日时间 cp 20$rq.tar.Z /test/jsyh/bak          先备份省行文件到备份文件夹 uncompress 20$rq.tar.Z                 解压缩.Z文件 cp 20$rq.tar /test/jsyh/tmp            将解压后的TAR文件CP至临时目录 cd /test/jsyh/tmp                       tar xvf 20$rq.tar                      在临时目录中解TAR包 rm 20$rq.tar                           删除临时目录中的TAR文件 cat /test/jsyh/ftp.txt | ftp -n        自动FTP相应文件到WINDOWS机器
(2)在/test/jsyh目录下建立 ftp.txt 
open 192.168.3.100     连接中转机器FTP user jsyh jsyh         登陆FTP用户名和密码 bin cd jsyh                进入FTP默认路径下的jsyh目录 mput *                 传送文件至FTP bye
(3)将文件按指定方式传送到最终目标windows机器
假设中转FTP的主目录是F:/JSYH,在JSYH目录下,建立bak目录用于备份每天sco机器上传过来的文件,建立FTP目录存放命令文件.在FTP目录中建立FTP01.TXT文件
open 192.168.3.233 jsyh jsyh asc prompt                      传多个文件时,不用确认 cd txt01                 进入最终目标windows机器存放.TXT的目录 lcd f:\jsyh mput *.txt bye
在中转机器FTP目录中建立FTP02.TXT文件
open 192.168.3.233 jsyh         jsyh bin prompt cd bin                       进入最终目标windows机器存放无后缀文件的目录 lcd F:\JSYH mput * bye
在中转机器上建立ftp.bat批处理文件
f: cd \jsyh\bak copy \jsyh\*.*             在向最终目标windows机器上传文件前,先将SCO传过来的文件全备份到BAK文件夹中 cd \jsyh\ftp ftp -s:ftp01.txt           打开FTP配置文件FTP01.TXT传送*.txt文件 cd \jsyh del *.txt                  删除*.txt文件 cd \jsyh\ftp ftp -s:ftp02.txt           传送除.txt文件以外的所有文件 cd \jsyh                    del *.* /q                 清空jsyh目录中所有文件.为明天的自动传送过程做准备.
好了,以上就是我自己写的几个脚本文件,只是修改了其中的真实IP和目录名等信息,希望能对有类似情况或问题的人有所帮助.同时也感谢以后几位关于FTP脚本的发贴者.
最后希望与大家一起 分享研究UNIX技术.
qq:22536137~~
(本文已被浏览 3763 次)
|
|