小弟有个难题,
现在有A、B两台ftp服务器和一台tomcat服务器,我需要写一个timer部署在tomcat服务器上,timer的作用是定期从A ftp服务器上拉取数据上传到B ftp服务器上。
注:最好不通过tomcat做中转,因为文件较大。
各位大拿有什么好的建议吗?
------解决方案--------------------
你直接在b的服务器上用ftp脚本做个定时任务不就完了么?这和tomcat服务器有什么关系?下面的是个参考,在windows的定时任务里添加定时运行a.bat
a.bat:
#@ECHO OFF
ftp -s:script.txt
script.txt:
open 10.*.*.1
username
passwd
cd /filepath/
bin
prompt
mget *
quit
------解决方案--------------------
如果你能在两台FTP服务器上,做个网络mount的话,似乎你的Java程序就只需要telnet到某服务器上执行个copy就完事了。
如果不能直接网络共享目录,那么建议你的Java程序仍然是先telnet到某服务器上,然后用该服务器执行ftp明道到另一台服务器上去下载。
如果你熟悉脚本的话,自己能写个batch.sh脚本,那么Java程序就更省事了。
总的来说就是,telnet + shell命令。
------解决方案--------------------
我的建议并不是让你直接去访问FTP,我的建议是用Java去模拟命令行执行FTP,就是说:
Runtime.exec()
然后控制输入和输出,一步步执行cmd命令,通过执行cmd命令来telnet到服务器A上,然后再借助服务器A上的ftpclient来进行下载。
如果你听说过按键精灵的话,就是类似的意思了。
------解决方案--------------------
为了简化Java代码,可以把组合操作做成批处理命令,那么Java直接执行这个批处理文件就行了。
------解决方案--------------------