zoukankan      html  css  js  c++  java
  • Shell中ftp文件上传下载脚本(判断ftp目录是否存在)

    Shell中ftp文件上传下载脚本(判断ftp目录是否存在)


    - 文件下载

    function get_ftp_data()
    {
    ftp_dir=$1
    local_dir=$2
    
    ftp -n<<!
    open ${FTP_HOST}
    user ${FTP_USERNAME} ${FTP_PASSWORD}
    binary
    cd ${ftp_dir}
    lcd ${local_dir}
    prompt
    mget *
    close
    bye
    !
    }

    - 检查文件夹是否存在

    check_ftp_dir()
    {
        ftp_dir=$1
        ftp -n -i ${FTP_HOST} <<EOF
    user ${FTP_USERNAME} ${FTP_PASSWORD}
    cd ${ftp_dir}
    bye
    EOF
    }
    
    
    # 清空上一次记录的目标主机日志的信息
    local_record='check-ftp-dir.log';
    cat '' > ${local_record}
    
    # 调用函数获取目标主机中的路径的日志并记录到record.log中
    check_ftp_dir "${ftp_dir}" > ${local_record}
    
    # 调用方法判断获取目录信息,判断文件夹是否存在
    grep -c 'Failed to change directory.' ${local_record}
    if [ `grep -c 'Failed to change directory.' ${local_record}` -eq 1 ];then
     echo '文件夹不存在!'
     else
     echo '文件夹存在!'
    fi


    - mget命令注意事项

    - mget * 下载当前目录所有文件,不能指定目标目录,也不能下载子目录(不能类似这样写:mget /opt/data/*,实测这样写系统会当做*处理)
    - 目录切换失败时,会停留在当前目录(可能是根目录),这时候再执行mget * 会把当前目录文件都下载下来,这并不是我们想要的结果
    - 所以,使用mget *命令前,一定要判断ftp目录是否存在

  • 相关阅读:
    JS的匿名函数和递归应用
    sql server中分布式查询随笔
    Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理
    db2相关问题及解决方法
    DB2命令大全
    作用域和作用域链浅解析
    css居中的几个实现方法
    选择排序
    ... 语法记录
    call() 与 apply() 和 bind()
  • 原文地址:https://www.cnblogs.com/zhaohz/p/12342752.html
Copyright © 2011-2022 走看看