处理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"
版权声明:本文博主原创文章。博客,未经同意不得转载。
处理FTP上传成功推理的更多相关文章
- 批处理向FTP上传指定属性的文件 批处理增量备份的例子
使用windows批处理向FTP上传具有指定属性的文件,类似增量备份功能. 对一个目录里的几个文件自动上传FTP时只上传有归档属性的文件,然后FTP上传成功后自动清除(本机)刚上传文件的归档属性. 类 ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- FTP上传文件到服务器
一.初始化上传控件. 1.我们这里用dropzone.js作为上传控件,下载地址http://www.dropzonejs.com/ 2.这里我们使用一个div元素作为dropzone载体. < ...
- 再看ftp上传文件
前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在 ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
- JAVA 实现FTP上传下载(sun.net.ftp.FtpClient)
package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt ...
- FTP上传-封装工具类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- 记一次FTP上传文件总是超时的解决过程
好久没写博,还是重拾记录一下吧. 背景:买了一个阿里云的云虚拟机用来搭建网站(起初不了解云虚拟主机和云服务器的区别,以为都是有SSH功能的,后来发现不是这样样子啊,云虚拟机就是FTP上传网页+MySQ ...
- FTP上传与下载
1.连接 先假设一个ftp地址 用户名 密码 FTP Server: 192.168.1.125 User: administrator Password: abc123 2. 打开win ...
随机推荐
- java中的特殊字符集合
JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377' \0:空字符 2.Unicode转义字符:\u + 四个 十六进制数字:0~65535 ...
- php中遍历数组的方法
参考网址:http://www.jb51.net/article/29949.htm 这三种方法中效率最高的是使用foreach语句遍历数组.从PHP4开始就引入了foreach结构,是PHP中专门为 ...
- WPF界面设计技巧(2)—自定义漂亮的按钮样式
原文:WPF界面设计技巧(2)-自定义漂亮的按钮样式 上次做了个很酷的不规则窗体,这次我们来弄点好看的按钮出来,此次将采用纯代码来设计按钮样式,不需要 Microsoft Expression Des ...
- A First Exploration Of SolrCloud
A First Exploration Of SolrCloud Update: this article was published in August 2012, before the very ...
- WPF弹性模拟动画
原文:WPF弹性模拟动画 我们此次将要制作模拟物理中的弹性现象的交互动画,我们让一个小球向鼠标点击位置移动,这个移动的轨迹不是简单的位移,而是根据胡克定律计算得出的. 胡克定律:F=-kd F代表弹性 ...
- Qt4.8在Windows下的三种编程环境搭建
Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...
- MySQL与Oracle的语法区别详细对比 (转)
Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...
- Class Diagram
- SQLSERVER图片查看工具SQL Image Viewer5.5.0.156
原文:SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 SQLSERVER图片查看工具SQL Image Viewer5.5.0.156 在2013年某一次北京SQL ...
- ffplay for mfc 代码备忘录
在上传一个开源播放器项目ffplay for mfc.它会ffmpeg工程ffplay媒体播放器(ffplay.c)移植到VC环境,而使用MFC做一套接口.它可以完成一个播放器播放的基本流程的视频:解 ...