背景:有两台服务器 本地Linux服务器A 和 FTP服务器B ,任务是:从 A 中使用用户名和密码远程登录 FTP 服务器 B ,并下载 B 中的内容到本地 A 服务器的对应目录下。
方案概述:
1.编一个脚本(.sh文件,编写规则类似于Windows的批处理文件.bat文件,google一下,啥都有);
内容大概是:TimingTask(抽象类),不同的任务继承此类,传递相应任务类名,调用相应任务(java反射)。
2.Linux下定时任务设置是Crontab(类似于Windows下的‘开始’->‘附件’->‘系统工具’->‘任务计划程序’),需要到'/var/spool/cron'该路径下,编写“何种方式”启动上述XXX.sh文件。(具体编写Crontab规则,google或百度一下)
3.具体任务类的编写,此次任务的关键是:
a) 首先,登录FTP服务器;
b) 构建先下载文件的相关信息(名称,路径,....);
c) 下载文件(采用java提供ftp下载功能的代码编写);
d) 处理各种异常情况(比如,正下载一个文件X,突然断开,或者超时,需要从新练重新下载,我们设置一个界限次数(3次),超过3次就,根据用户名和密码重新登录FTP服务器,从新下载);
e) 其他操作(比如,把下载的相应文件信息存入数据库);
方案概述:
1.编一个脚本(.sh文件,编写规则类似于Windows的批处理文件.bat文件,google一下,啥都有);
内容大概是:TimingTask(抽象类),不同的任务继承此类,传递相应任务类名,调用相应任务(java反射)。
2.Linux下定时任务设置是Crontab(类似于Windows下的‘开始’->‘附件’->‘系统工具’->‘任务计划程序’),需要到'/var/spool/cron'该路径下,编写“何种方式”启动上述XXX.sh文件。(具体编写Crontab规则,google或百度一下)
3.具体任务类的编写,此次任务的关键是:
a) 首先,登录FTP服务器;
b) 构建先下载文件的相关信息(名称,路径,....);
c) 下载文件(采用java提供ftp下载功能的代码编写);
d) 处理各种异常情况(比如,正下载一个文件X,突然断开,或者超时,需要从新练重新下载,我们设置一个界限次数(3次),超过3次就,根据用户名和密码重新登录FTP服务器,从新下载);
e) 其他操作(比如,把下载的相应文件信息存入数据库);
f) 关闭连接。
--“我,不创造知识,不生产知识,我只是大自然的‘搬运工’”