有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ssh远程目录监视器和Java文件传输

有人能告诉我是否有办法监视HostB中的目录,并将该目录中的新文件传输到Java中的HostA

仅供参考,我的Java代码应该驻留在HostA中


共 (2) 个答案

  1. # 1 楼答案

    您必须能够通过一些协议(HTTP、samba、ftp、nfs等)在HostB中进行访问,该协议包含java代码。然后,您只需创建一个Java守护进程线程,定期检查目录以查看是否有任何更改,然后复制数据

  2. # 2 楼答案

    我会用JSch。如果HostA和hosb是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