zoukankan      html  css  js  c++  java
  • 处理FTP上传成功推理


    #登录FTPserver获取指定文件
    #$1:server住址
    #$2:帐户
    #$3:password
    #$4:文件路径名
    #$5:本地文件路径名
    #$6:本地文件名

    #比量ftp上传结果:
    #获取上传后的远程文件大小重定向在本地文件tmp,与本地文件大小比較,同样为上传成功,最后删除本地记录tmp;
    #推断外部调用函数(如system)运行结果:
    #运行成功返回为上传的结果:0,运行失败为返回脚本内运行结果或系统调用结果:非0,避免了外部调用一直返回成功:0;
    #日志改动:
    #上传后紧接着写日志(追加写),另外ftp日志大于100M则清空。


    ########################################################################

    get_file()
    {
        #echo "$1 $2 $3 $4 $5 $6"
    GF_HOST=$1
    GF_USER=$2
    GF_PASS=$3
    GF_DATPATH=$4
    GF_LOCPATH=$5
    GF_SRCFILE=$6
    #上传文件   
        ftp -in $GF_HOST >>ftp.log<<- EOF
    quote USER $GF_USER
    quote PASS $GF_PASS
    bin
    cd $GF_DATPATH
    lcd $GF_LOCPATH
    mput $GF_SRCFILE
        dir $GF_DATPATH/$GF_SRCFILE tmp
    quit
    EOF
        
        FTPSIZE=`cat $GF_LOCPATH/tmp |sed -n '/'$GF_SRCFILE'/p' |awk '{print $5}'`
        LOCALSIZE=`ls -l $GF_LOCPATH/$GF_SRCFILE |awk '{print $5}'`
        #echo $FTPSIZE
        #echo $LOCALSIZE
        
        if [ "$FTPSIZE" != "" ] && [ "$FTPSIZE" == "$LOCALSIZE" ]; then
        RETCODE=0
        else
        RETCODE=125
        fi
        
        rm -rf $GF_LOCPATH/tmp
        
    1> /dev/null
    2> /dev/null
        #return $?
        return $RETCODE
    }
    #########################################################################################################################

    get_log_line()
    {
        GLL_TIME=`date "+%Y-%m-%d %X"`
        #GLL_PATH=`pwd` '/' `$FILENAME`
        RESULT=$1
        if [ "$RESULT" == 0 ]
        then
            STR_RESULT="成功!"
        else
            STR_RESULT="失败!"
        fi
        echo "$GLL_TIME| 上传 | 本地文件:$2: $3 | 到 | 目标主机:$4:$5 | $STR_RESULT" >>ftp.log
    }


    clear_ftplog()
    {
        FTPLOGSIZE=`du -m ftp.log |awk '{print $1}' ||cut -f 1 -d "M" | cut -f 1 -d "."`
        if [ $FTPLOGSIZE -gt 100 ]; then
            echo "">ftp.log
        fi
    }


    #####################################################################################################################

    clear_ftplog "100"

    HOST=""
    USER=""
    PASS=""
    DATPATH=""
    LOCPATH="l"
    SRCFILE=""
    get_file "$HOST"  "$USER"  "$PASS"  "$DATPATH"  "$LOCPATH"  "$SRCFILE"
    get_log_line "$?"  "$LOCPATH"  "$SRCFILE"  "$HOST"  "$DATPATH"



    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    SWT的TreeViewer和TableViewer的交互
    利用SVNKit进行版本库的树的导出
    使用SVNkit删除版本库的文件
    SVN中正确的add操作和delete操作
    SVNKIT一段代码的分析
    Eclipse中的SVN的冲突解决方案详解
    CSS3实现小于1px的边框(移动端)
    向左滑动删除一区域内容(移动端)
    下拉框文本框+复选(选中的显示在文本框中)
    弹性盒布局(自适应)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4799174.html
Copyright © 2011-2022 走看看