使用Linux shell脚本实现FTP定时执行批量下载指定文件

使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示:

1、目标FTP服务器地址

#FTP服务器地址
ip=10.19.15.23

2、FTP账号和密码

u=账号

p=密码

3、使用mget结合正则表达式下载文件

#获取昨天日期,为后面下载使用
T=`date -d yesterday +%Y%m%d`

4、连接FTP服务器,到指定路径下下载文件

ftp -n <<EOF
      open $ip
      user $u $p
      binary
      cd /hour                #远程服务器文件目录
      lcd /home/Comparisor/XN_data/hour   #本地存放的文件目录
      hash 
      prompt off               #关闭交互
      mget *$T*
      cd ../day               #远程服务器文件目录
      mget *$T*
      close               
      bye
EOF

5、将脚本加入定时任务crontab,每天6点执行。

使用crontab -e 编辑:

0 6 * * * /home/XXXX/get_xn_data.sh #后面跟脚本的绝对路径

6 、完整的脚本为:

#!/bin/bash
#获取性能系统小时粒度的指标数据
u=账号
p=密码
ip=10.195.15.23
T=`date -d yesterday +%Y%m%d`            #获取日期,根据日期抓取xdr文件
#写入日志
echo "(`date`) get data start...." >> /home/XXX/getdata.log
echo "===================================================" >> /homeXXX/getdata.log
    ftp -n <<EOF
      open $ip
      user $u $p
      binary
      cd /hour            #远程服务器文件目录
      lcd /home/Comparisor/XN_data/hour   #本地存放的文件目录
      hash 
      prompt off
      mget *$T*
      cd ../day
      mget *$T*
      close
      bye
EOF

相关推荐