处理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 ...
随机推荐
- ORACLE 实验二
实验二:数据操纵 实验学时:4学时 实验类型:综合型 实验要求:必修 一.实验目的 1.掌握SQL数据查询语句: 2.掌握SQL聚集函数的使用. 3.掌握SQL插入.改动.删除语句的使用. 二.实验内 ...
- A Game of Thrones(3) - Daenerys
Her brother held the gown up for her inspection. “This is beauty. Touch it. Go on. Caress(爱抚,抚抱) the ...
- 图画(txt等一下)实施开放的默认下载的默认浏览器,而不是(Java文本)
在网络上,假设我们超链接地址对应于jpg档,txt档,点击链接,默认浏览器打开这些文件,而不是下载,那么,你如何实现竞争力的默认下载. 1.可通过自己写一个download.jsp来实现 <%@ ...
- LeetCode——Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- 学习 easyui 之二:jQuery 的 ready 函数和 easyloader 的加载回调函数
Ready 事件不一定 ready 使用 easyloader 的时候,必须要注意到脚本的加载时机问题,easyloader 会异步加载模块,所以,你使用的模块不一定已经加载了.比如下面的代码. &l ...
- 【C/C++】BinarySearch
/* * BinarySearch.c * * Created on: 2014年6月25日 * Author: wenbo */ #include <stdio.h> int binar ...
- android4.0 USB Camera示例(五个辅助)jpg压缩
前的最后一个 我们说,一个直接yuv变成jpg该功能 但是转换不成功 主要功能是yuv420转jpg的 根据研究发现 yuv420的序列是这种 YYYY YYYY UVUV 而yuv422的隔行扫描的 ...
- update和saveOrUpdate具体解释
在Hibernate中,最核心的概念就是对PO的状态管理.一个PO有三种状态: 1.未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2.已被持久化的PO,而且在Session生 ...
- Google Protocol Buffers和java字符串处理控制
大多数的操作码被从夜晚复制.懒得敲. 直接在源代码和测试结果如下. serabuffer.proto档.使用下面的命令来生成java代码. protoc -I=./ --java_out=./ ser ...
- c++宏源证券编程
1,定义宏功能,作,func(x) = x-1? 最简单的, 假设x = 2则 #define func(x) 1 特化出来x,令 #define func_helper_2 1 #defi ...