linux上使用ftp下载文件,linux上使用FTP下载文件

#!/bin/bash

[email protected]:ping

[email protected]:[email protected]支付系统的前置服务器

# 对账文件全部下载完成后会生成一个.ok文件

[email protected]:1、定时任务实现 2、脚本+日期(形如 ./ftpDownload.sh 20180820)

[email protected] directory:

# 日志目录:/apache/Unionpay/upload/logs

# 脚本目录:/apache/Unionpay/

# 对账文件目录:/apache/Unionpay/upload

##############################如下为定义的变量区###########################

echo "**********对账文件下载的脚本开始执行***********" >> $logDire$tradeDay

#默认当前系统前一日

if [ ! -n "$1" ];then

tradeDay=`date -d "1 days ago" +%Y%m%d`

else

tradeDay=$1

fi

#定义服务器系统时间

today=`date +%Y%m%d`

#定义本地的下载存放目录

localDire="/apache/Unionpay/upload/"

#定义日志目录

logDire="/apache/Unionpay/upload/logs/"

#日志文件后缀名

suffixName=".log"

#截取日期

subYesterday=`expr substr "$tradeDay" 3 6 `

#定义五个需要的文件名

file1="IND"$subYesterday"01ACOMN"

file2="IND"$subYesterday"99ALFEE"

file3="IND"$subYesterday"99ILFEE"

file4="IND"$subYesterday"99AFCP"

file5="IND"$subYesterday"99IFCP"

file6="IND"$subYesterday"01ACOMN.ok" ##确认文件

####################GC服务器信息######################

#FTP服务器地址

ip=192.168.43.237

#FTP账号

u=tppview

#FTP密码

pass=Tpp12#$

#GC服务器的目录地址

remoteDire="/home/gbatch/batch/file/"

addtoDire="/0000/CUP/04791922/"

####################函数定义######################

ftpFun(){

ftp -n <

open $ip

user $u $pass

binary

passive

cd $remoteDire$tradeDay$addtoDire #远程服务器文件目录

hash

prompt off #关闭交互

mget $1

close

bye

EOF

}

###################下载对账文件###################

if [ ! -d "$logDire" ];then

mkdir "$logDire"

echo "创建日志目录======$logDire"

fi

if [ ! -d "$localDire$tradeDay" ];then

mkdir "$localDire$tradeDay"

echo "对账文件将会保存在[$localDire$tradeDay]的目录下" >> $logDire$tradeDay$suffixName

fi

cd $localDire$tradeDay //切换目录

if [ -f "$localDire$tradeDay"/"$file6" ];then

echo "目录[$localDire$tradeDay]下已经存在确认文件[$file6]" >> $logDire$tradeDay$suffixName

echo "交易日[$tradeDay]的对账文件已经下载完成" >> $logDire$tradeDay$suffixName

else

echo "不存在确认文件[$file6],开始下载对账文件"

for fileName in $file1 $file2 $file3 $file4 $file5;do

until [ -f $localDire$tradeDay"/"$fileName ];do

echo "开始下载对账文件=================="$fileName >> $logDire$tradeDay$suffixName

ftpFun $fileName

echo "对账文件下载过程结束=================="$fileName >> $logDire$tradeDay$suffixName

if [ -f $localDire$tradeDay"/"$fileName ];then

echo "对账文件[$fileName]已经下载到本地目录[$localDire$tradeDay]" >> $logDire$tradeDay$suffixName

else

echo "本次没有获取到对账文件============"$fileName >> $logDire$tradeDay$suffixName

echo "休眠3分钟后继续下载文件==========="$fileName >> $logDire$tradeDay$suffixName

sleep 3s #休眠3分钟

fi

done

done

touch $localDire$tradeDay"/"$file6

echo "交易日[$tradeDay]的对账文件下载完成,存放路径为[$localDire$tradeDay]" >> $logDire$tradeDay$suffixName

fi

##############################################################################################################

echo "**********对账文件下载的脚本执行结束***********" >> $logDire$tradeDay

原文:http://blog.51cto.com/babyhanggege/2166006

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值