场景:公司内部服务器需要定期下载外网服务器提供的文件,但是服务器不能直接与外网交互,故申请一台前置机连外网下载远程文件并传输到服务器上,用shell脚本的方式实现。
因之前没接触过shell脚本开发,所以此次也是学习记录一下自己的开发过程。
1、ftp实现远程文件下载并解压指定文件到指定目录
shell脚本如下:
#从FTP上下载文件解压并传输到服务器
#!/bin/bash
startTime=$(date "+%Y-%m-%d %H:%M:%S")
echo "===============>startTime is ${startTime}<==============="
cd /home/user01/myShell
ftp -v -n 服务器地址<<EOF
user 用户名 密码
binary #二进制方式
cd Chinese #下载的文件存放目录
lcd /home/user01/myShell #下载文件存到服务器上的地址
prompt
mget UPIDGWL.ZIP #获取文件UPIDGWL.ZIP
close
bye
EOF
echo "download UPIDGWL.ZIP successfully"
unzip -j UPIDGWL.ZIP ENTITY.XML -d downloadFile;
mv downloadFile/ENTITY.XML downloadFile/ENTITY1.XML #提取zip中的