Ftp下载和上传的Shell脚本

在写云缴费项目的过程中,需要用Ftp传对账文件,由于对账文件在AP上,所以在WEB上装了Nginx,打算利用NginX转发ftp请求,但是奇怪的是,怎么都调不通,这个有空抽一篇幅详细讲解。由于项目着急上线,所以采取了shell脚本模式。

由于对账文件的存储模式采取的是public path/8位日期/files模式,所以该shell脚本需要能够实现传递前一天的文件到第三方服务器上,脚本比较简单,如下:

#!/bin/bash

NOW_PATH=/home/tomcat/data/
DATE_SET=`date -d -1day +%Y%m%d`

cd $NOW_PATH
mkdir ${DATE_SET}

NOW_FTP_PATH=$NOW_PATH/${DATE_SET}

GET_DATA_PATH=/home/ipsp/toFtpFile
GET_USER=ipsp
GET_PASSWORD="密码"
GET_IP=128.1.136.195
GET_PORT=21

# 开始取文件
ftp -ivn <<EOF
    open $GET_IP $GET_PORT
    user $GET_USER $GET_PASSWORD
    binary
    cd $GET_DATA_PATH/${DATE_SET}
	lcd $NOW_FTP_PATH
	mget *
  bye
EOF

PUT_PATH=/home/social/ftp
USER=social
PASSWD="密码"
IP=128.2.136.128
PORT=21

#上传文件到FTP服务器
ftp -ivn <<EOF
  open $IP $PORT
  user $USER $PASSWD
  binary
  cd $PUT_PATH
  lcd $NOW_FTP_PATH
  mput *
  bye
EOF

#判定文件是否上传成功
echo "Upload successful"
[ $? -eq 0 ] && echo "Upload $DATE_SET's files to School successful." >>$NOW_PATH/ftp.log || echo "Upload files failed" >>$NOW_PATH/ftp.log

由于AP上的文件是不删除的,所以取到本地以后,直接传给第三方即可,传完以后,再删除本地路径下的文件即可,如有漏传,可采取手工模式脚本,更改执行(删除本地路径下的文件的命令未添加 可根据实际需要增加)。

至于脚本如何执行,自然采取linux的contab命令,定时执行即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值