Files
2022-03-07 15:02:34 +08:00

89 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
#*****************************************************************
# 工行文件下载解压
# 日期 修改人 修改原因
# 2022.10.19 wanglei 创建
#文件下载,并解压到指定文件夹(如果日期文件夹不存在 则创建文件夹);
#
#*****************************************************************
if [ $# -lt 3 ]; then
echo "USAGE: downloadICBC.sh SERVER_IP,SERVER_PORT, SERVER_USER,REMOTE_DIR,LOCAL_DIR,OIDENTITY_FILE,DATE"
echo downloadCMB.sh 1:${1} 2:${2} 3:${3} 4:${4} 5:{5} 6:{6} 7:{7}
exit -1
fi
#Sftp地址
SERVER_IP=${1}
#Sftp端口
SERVER_PORT=${2}
#Sftp用户
SERVER_USER=${3}
#远程服务器下载文件目录
REMOTE_DIR=${4}
#本地服务器保存文件主目录
LOCAL_DIR=${5}${7}
#电子回单日期
DATE=${7}
#密钥
OIDENTITY_FILE=${6}
echo "SERVER_IP:[$SERVER_IP], SERVER_PORT:[$SERVER_PORT], SERVER_USER:[$SERVER_USER],REMOTE_DIR:[$REMOTE_DIR],LOCAL_DIR:[$LOCAL_DIR],OIDENTITY_FILE:[$OIDENTITY_FILE]"
#检查目录是否存在
if [ ! -d ${LOCAL_DIR} ]
then
echo "创建目录 ${LOCAL_DIR}"
mkdir -p ${LOCAL_DIR}
if [ $? -ne 0 ]
then
echo "创建目录错 ${LOCAL_DIR}"
exit -2
fi
fi
#进入目录
cd $LOCAL_DIR
echo "Starting to sftp..."
#下载文件到当前文件夹
sftp -oIdentityFile=${OIDENTITY_FILE} -oPort=${SERVER_PORT} ${SERVER_USER}@${SERVER_IP} <<EOF
lcd ${LOCAL_DIR}
cd ${REMOTE_DIR}
get ${DATE}*.zip
bye
EOF
#删除临时文件夹
rm -rf ../tmp/*
echo "删除文件"
#检查是否文件是否下载成功
file_num=$(find . -name "${DATE}*.zip" | wc -l)
if [ ${file_num} -le 0 ]
then
echo "工行电子回单文件下载失败 ${DATE}"
exit -2
fi
#解压文件
find . -name "${DATE}*.zip" -exec unzip -d ../tmp -o {} \;
echo "解压文件"
#移动pdf文件到当前目录
find ../tmp -name "*.pdf" -exec mv {} . \;
exit 0