BLUESKY
一步一个脚印向前走
由于测试的原因,我必须手动拷贝远程主机上的数据到本机,长此以往忍受的不行了,终于写了个脚本,我把它贴在这里,以后再用

命令的使用截图如下:
 

代码如下:
#!/bin/sh

#业务名称,比如ptm 17901 DddCDR SmsSta 4008 DddSta SettleSta datum
BUSI_NAME=$1

#数据的备份时间,格式:20070617
DATE_TIME=$2

#数据下载的目的目录
DEST_PATH=$3

#源数据主机IP
HOST="132.32.24.101"
#用户名和密码
USERNAME="zhjs"
PASSWORD
="zhjs123"
APPDATABAK
="/appdatabak"


cd $DEST_PATH

ftp 
-n $HOST <<!EOF
user $USERNAME $PASSWORD
bin
prom
cd $APPDATABAK
/${DATE_TIME:0:6}/recv/$BUSI_NAME/$DATE_TIME/
mget 
*
bye
!EOF

但是还有个问题是:
如果你输入了错误的目录,那么它将下载ftp登录的默认目录下面的文件

解决方法:
在ftp命令中判断输入的目录是否存在,但是还没有查到在ftp中运行shell的命令
if [ ! -d $APPDATABAK/${DATE_TIME:0:6}/recv/$BUSI_NAME/$DATE_TIME/ ]; then
exit
fi
上面的代码不好再ftp中运行

还有一种思路就是在源主机上写个脚本,然后在ftp中使用!name.sh运行,判断如果不是正确的,则kill -9 这个ftp连接,只是想个,还没有测试
posted on 2007-08-05 17:34 LG 阅读(3639) 评论(0)  编辑 收藏 引用 所属分类: UnixProgram

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

相册

最新评论