- 论坛徽章:
- 0
|
sco 系统自动定时FTP分类分目录传送文件实例
银行系统环境:每天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~~
[ 本帖最后由 khgmkhn 于 2006-2-21 16:04 编辑 ] |
|