Linux 下FTP定时执行批量下载文件

使用FTP定时批量下载指定文件的shell脚本

环境:centos6.9

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  <            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  #后面跟脚本的绝对路径

重启定时任务

/bin/systemctl restart  crond.service

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  <            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


你可能感兴趣的:(Linux)