处理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"

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

时间: 2024-10-12 05:33:42

处理FTP上传成功推理的相关文章

批处理向FTP上传指定属性的文件 批处理增量备份的例子

使用windows批处理向FTP上传具有指定属性的文件,类似增量备份功能. 对一个目录里的几个文件自动上传FTP时只上传有归档属性的文件,然后FTP上传成功后自动清除(本机)刚上传文件的归档属性. 类似于对文件增量备份的功能. @echo off rem 指定FTP用户名 set ftpUser=FTPUSERNAME rem 指定FTP密码 set ftpPass=FTPPASSWORD rem 指定FTP服务器地址 set ftpIP=192.168.0.2 设置待上传的本地文件夹目录 se

shell-scripts,FTP自动化上传脚本,可循环,直到上传成功为止

脚本功能: 通过定时计划任务运行该脚本,定期上传指定文件. 之前写了这个脚本,有时候网络不稳定的时候,总是上传失败.写了循环去传,但是苦于不知道怎样去获取FTP返回的错误状态,后来度娘到可以把ftp的运行错误日志记录写到文件中,因这个点来源于分享.因此,现在把整个脚本给分享出来,提供给大家一个思路. 通过检测这个错误日记录,并返回的状态,去循环上传指定文件,并追加脚本运行日志记录,以便于跟踪脚本运行情况. #!/bin/bash #upload gonet log to ftp_server #

ftp上传与下载

在企业级应用系统中,文件上传与下载是最常用的功能之一.当然,这些文件也是有存储周期,根据业务需要而定. 驾驶员培训管理系统(简称驾培系统)需要判断学员学时的有效性,通过学时记录仪,采集学员在教练车中里照片, 上传到web服务器中,由web服务器上传到文件服务器,,比便做人脸比对..为保证学时的实时性,这期间会产生多次比对,当 然也会产生许多学员人脸照片.为方便管理这些照片,我们会采用分层级目录来存放照片. 这里主要介绍基于commons-net实现ftp创建文件夹.上传.下载功能. 创建文件夹

Java实现FTP上传下载功能

Java FTP客户端工具包很多,在此我选用的Apache的FTPClient.这个包的获取可以通过http://commons.apache.org/net/来获取,我使用的是最新的commons-net-1.4.1.zip.其中包含了众多的java网络编程的工具包,官方文档列举如下: 1.支持网络协议如下: FTP.NNTP. SMTP.POP3.Telnet.TFTP.Finger.Whois.rexec/rcmd/rlogin.Time (rdate) and Daytime.Echo.

再看ftp上传文件

前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在本地测试程序上传到ftp服务器一点问题都没有,奇怪的是当发布Web和ftp到同一个IIS下,上传文件时程序直接卡死,然后页面卡死,后来我又发现把Web和ftp分开发布在两台机器上问题又得到解决,所以当时放弃了这个方案. 再看ftp上传文件 前几天偶然看到Wolfy写到一个项目总结,其中提到了用Ser

selinux导致ftp上传失败 工作中的真实案例

这是一台squid代理服务器(一台式机,安装的是redhat 5.4 64位操作系统),每天下午4点一台服务器通过ftp上传主机数据库巡检报告到这台代理PC机的一个用户家目录下的xunjian目录下,这台PC再通过发送邮件的方式将巡检报告发给组内成员,进行巡检 此为背景,之前的selinux设置的为Permissive,不料同事中午睡觉的时候,脚这么一碰,将这台代理PC重启了,重启后,连续2天的巡检报告都没有通过邮件收到,赶紧解决吧 1.手动的执行ftp上传动作,报如下错误:553 Could

Java 利用FTP上传,下载文件,遍历文件目录

Java实现FTP上传下载文件的工具包有很多,这里我采用Java自带的API,实现FTP上传下载文件.另外JDK1.7以前的版本与其之后版本的API有了较大的改变了. 例如: JDK1.7之前 JDK1.7 ftpClient = new FtpClinet() ftpClient = FtpClient.create(ip) ftpclient.login(user,password) ftpclient.login(user,null,password) ftpclient.binary()

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g

C# ftp 上传、下载、删除

1 public class FtpHelper 2 { 3 public static readonly FtpHelper Instance = new FtpHelper(); 4 5 /// <summary> 6 /// 取得文件名 7 /// </summary> 8 /// <param name="ftpPath">ftp路径</param> 9 /// <returns></returns> 10