文章目录

一、需求文档说明

序号

要求

说明


协议

使用ftp协议远程下载


文件类型

.zip


文件名

acd_UPIDDGWL


远程下载目录

APEP/


本服务器下载存放目录

/ablacklist/xmldata/Lists/PEP

二、脚本解释/说明

脚本拆解

释义说明

执行命令


日志文件名拼接

fname


错误日志拼接

elog


ftp连接格式

​lftp -u 用户名,密码 ftp://IP地址:21 <<EOF > "$fname" 2>&1​


ftp连接栗子

lftp -u user,123456 ftp://192.168.43.188:21 < “$fname” 2>&1


进入到指定目录

打开本机目录用lcd 打开远程目录用cd


下载文件

mget 文件名

注:

下面是日志输出

三、脚本内容

#!/bin/bash
fdate=$(date +%Y%m%d%H%M%S)
flog='/ablacklist/logs/accuitydownload-'
elog='/ablacklist/logs/errors-'
fname=$flog$fdate'.log'
ename=$elog$fdate'.log'
lftp -u 用户名,密码 ftp://ip地址:21 <<EOF > "$fname" 2>&1
set xfer:clobber on
cd APEP/
lcd /ablacklist/xmldata/Lists/PEP
mget acd_UPIDDGWL.ZIP
by
EOF


if grep -i "Login failed" "$fname" > /dev/null
then
echo "ERROR: Login failed" >> "$ename"
fi
if grep -i "Not connected" "$fname" > /dev/null
then
echo "ERROR: Cannot connect to the destination" >> "$ename"
fi
if grep -i "No such file" "$fname" > /dev/null
then
echo "ERROR: Cannot change directory. No such file or directory." >> "$ename"
fi
if grep -i "No such directory" "$fname" > /dev/null
then
echo "ERROR: Cannot change remote directory. No such file or directory." >> "$ename"
fi
if grep -i "File or Directory does not exist" "$fname" > /dev/null
then
echo "ERROR: Cannot transfer. File or Directory does not exist" >> "$ename"
fi