我有一台Linux计算机并希望执行以下操作(如果可能,请执行以下两个独立的操作/过程):
每隔x分钟向远程计算机运行一系列CLI命令,以查看是否存在文件。如果是,我想开始将此文件下载到我的目录之一。文件可能很大,可能有很多远程计算机,所以理想情况下我应该将每个连接视为一个自己的进程。
检查我的文件系统中是否有新文件到达。如果有,我想浏览这个文件,用一些算法分析内容,然后将结果存储在我安装的数据库中。然后删除已分析的文件。
有关如何以“最佳”和最可靠的方式执行此操作的任何建议?脚本?的Java / C /等?多线程或只是循环内容的单个进程?结果应该是应该运行几个月而不停止。
非常欢迎任何建议和/或示例代码!
谢谢! ž
答案 0 :(得分:0)
对于#1,您可以使用crantab(http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5)来运行脚本。
我认为您可以使用Shell,Python,Ruby来完成任务
答案 1 :(得分:0)
下载时你可以使用类似脚本的东西(未测试和不完整):
function download_and_analyze(link){
Z=mktemp
cd $Z
wget -c -t0 -q -C $link
# analyze algorithm here
cd /tmp
rm -rf $Z
}
for A in $REMOTEFILE; do
download_and_analyze($A) &
done
这只是一个临时实现它作为shell脚本。 wget保证了可靠性。
如果它位于ssh可以访问的另一台计算机上,你也可以使用rsync。
欢呼声