(需求实战_02)_ftp连接下载指定.zip类型文件
原创
©著作权归作者所有:来自51CTO博客作者gblfy的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
一、需求文档说明
序号
| 要求
| 说明
|
①
| 协议
| 使用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