有人可以告诉我是否有办法监控 HostB 中的目录,并将该目录中的新文件传输到Java中的 HostA ?
仅供参考,我的Java代码应该位于 HostA 。
答案 0 :(得分:0)
我会使用JSch。如果HostA和HostB是linux主机,那么应该这样做。您可以执行安全复制(scp)来传输数据并使用ssh执行一些shell代码来远程监视文件。这可以通过设置公钥/私钥来完成。
要使用shell进行监控,您可以使用以下内容:
#!/bin/bash
# directory to monitor
monitoredDirectory="/tmp";
# control file
monitorFile="$(mktemp).$$"
# sleep time
monitorSleep=10
while /bin/true;
do
# if you want to see directories remove '-type f'
find "${monitoredDirectory}" -type f -cnewer "$monitorFile" -print 2>/dev/null
touch "$monitorFile"
sleep $monitorSleep
done
答案 1 :(得分:0)
你必须能够通过一些协议在HostB中访问它,它有java代码(HTTP,samba,ftp,nfs等)。然后你只需创建一个Java守护程序线程,定期检查目录以查看是否有任何更改并复制数据