windows使用bat脚本批量从ftp下载文件

  1. linux日志备份脚本(log_backup.bash)
    #! /bin/bash
    
    #下位机程序日志目录
    ROBOT_LOG_DIR="/home/root/log/"
    #备份目录
    BACKUP_DIR="/home/root/backup/"
    #备份文件名
    # DATE=`date +%F-%T`
    DATE=`date +%F`
    BACK_NAME='logs_'$DATE.tar.gz
    #创建目录
    mkdir -p $BACKUP_DIR
    #进入日志目录
    cd $ROBOT_LOG_DIR
    #移动上次日志到备份目录
    mv *.tar.gz $BACKUP_DIR
    #压缩备份文件
    tar -zcPf $BACK_NAME $ROBOT_LOG_DIR
    #清空源文件
    for i in `find $ROBOT_LOG_DIR -name "*.log"`; do echo >$i; done
    #进入备份目录
    cd $ROBOT_LOG_DIR_DIR
    #删除30天之前的备份文件
    find $BACKUP_DIR -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
  2. windows 下载文件脚本(GetFiles.bat)
    @echo off
    rem 指定FTP用户名
    set ftpUser=robot
    rem 指定FTP密码
    set ftpPass=robot
    rem 指定FTP服务器地址
    set ftpIP=192.168.1.127
    rem 指定FTP服务器端口
    set ftpPort=3001
    rem 指定待下载的文件位于FTP服务器的哪个目录
    set ftpFolder=/home/root/log
    rem 指定从FTP下载下来的文件存放到本机哪个目录
    set LocalFolder=C:\temp
    
    set ftpFile=%temp%/ftp.txt
    >"%ftpFile%" (
      echo open %ftpIP% %ftpPort%
      echo,%ftpUser%
      echo,%ftpPass%
      echo cd "%ftpFolder%"
      echo lcd "%LocalFolder%"
      echo bin
      echo mget *.tar.gz
    echo bye
    )
    start ftp -v -i -s:"%ftpFile%"
  3. 定时执行脚本参考:
    windows定时执行脚本