89 lines
1.9 KiB
Bash
Executable File
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
|