高分请教高手关于java对Ftp服务器监控的问题

韭菜猫骑士 中国 攻城狮  2010-10-08 02:44:24
我们需要对Ftp服务器监控的内容如下
• 某FTP端口所运行的服务是否在线
• 监测上传文件的时间、下载文件的时间
• 监测上传、下载文件是否正确
请教下高手,给指点一下,我该怎么完成呢?大家都是怎么做的?
主要是第一点必须完成,二三点选做。
PS:本人低手。。。
...全文
187 点赞 收藏 9
写回复
9 条回复
yaoweijq 2010年10月11日
1.ping或模拟登陆下ftp服务就行了
 注意一下判断逻辑,为确认起见,连着试三次行不通就认为通不过
2和3.貌似没听过能实时监控的,
最多让ftp端提供一个功能,文件上传,下载时将
信息写到某第三方存储中,例如某数据库,
然后监控程序定时取数据库的记录
回复 点赞
韭菜猫骑士 2010年10月11日
我等的花儿都谢了。怎么办呢?
回复 点赞
purplehedy 2010年10月11日
设置好时间,到时间就去登陆 FTP,比较目录上次和这次的区别

其他办法:

1,将远方FTP 目录映射本地目录的,然后用本地目录监视软件

2,有个软件ftptree,可以命令行检测远方特定目录并且输出文本,比较每次文件的变化不过要写批命令或者计划任务,我还没想好!
回复 点赞
韭菜猫骑士 2010年10月09日
大家都来谈谈想法吧。
回复 点赞
韭菜猫骑士 2010年10月08日
[Quote=引用 4 楼 injuer 的回复:]

1.某FTP端口所运行的服务是否在线
使用socket发送确认信号给FTP服务器,FTP服务器返回确认信号,说明FTP服务器在线

2.监测上传文件的时间、下载文件的时间
FTP服务器需要扩张程序功能,实现上传警告和下载警告功能,使用socket与监听系统呼唤信号,监听程序根据信号确认或计算时间

3.监测上传、下载文件是否正确
FTP服务器在上传,下载成功后,使用socket把文……
[/Quote]
兄台所说的却是很有道理。
但是我们监测的是常见的普通FTP,程序是不能涉及到FTP服务器的修改的。如果ftp服务器具备的功能,可以开启,不具备的功能是不可能添加的。
兄台所说的上传警告和下载警告功能,普通FTP服务器可有?
3。需要FTP通过socket主动连接监听服务,不需要修改FTP嘛 ?
回复 点赞
injuer 2010年10月08日
1.某FTP端口所运行的服务是否在线
使用socket发送确认信号给FTP服务器,FTP服务器返回确认信号,说明FTP服务器在线

2.监测上传文件的时间、下载文件的时间
FTP服务器需要扩张程序功能,实现上传警告和下载警告功能,使用socket与监听系统呼唤信号,监听程序根据信号确认或计算时间

3.监测上传、下载文件是否正确
FTP服务器在上传,下载成功后,使用socket把文件名和文件类型传给监听程序,由监听系统探测是否是合法文件,探测完,由监听系统返回信号。
回复 点赞
dr_lou 2010年10月08日
1、可以,你们定策略好了
2、上传下载不是自己做的,我想不出办法。
回复 点赞
韭菜猫骑士 2010年10月08日
[Quote=引用 1 楼 dr_lou 的回复:]

1、ping一下端口或者发起一个模拟请求
2、检测上传下载速度,简单的可以如下
Java code
long start = System.currentTimeMillis();
//业务逻辑
long end = System.currentTimeMillis();
logger.info("上传耗时:"+ (end-start) + "毫秒");

3、你指着正确是什么?简单的可……
[/Quote]
这个是公司的设计文档,我刚实习没多久,3中的要求我也不是很明白。公司也说这块可做可不做。
另外,发送摸你请求是不是写个FTPclient?
ftpclient.openServer(taskParam.getObjectInfo().getIp());
ftpclient.login(taskParam.getAttriValueByID(ObjPropDic.USER), taskParam
.getAttriValueByID(ObjPropDic.PASSWORD));

2,你说的计算时间的思路是正确的,但是我们是监控FTP服务器,通过java监控程序上传下载文件,来获取耗时?
回复 点赞
dr_lou 2010年10月08日
1、ping一下端口或者发起一个模拟请求
2、检测上传下载速度,简单的可以如下
long start = System.currentTimeMillis();
//业务逻辑
long end = System.currentTimeMillis();
logger.info("上传耗时:"+ (end-start) + "毫秒");

3、你指着正确是什么?简单的可以比较head里面的content-length与你得到文件的大小
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告