如何解决使用文件观察器来检测远程Linux服务器上的更改
我需要检测将新文件添加到远程Linux服务器上的文件夹中,该服务器遵循SFTP进行连接。
现在,我正尝试使用Java nio Watch服务检测本地(Windows OS)中的更改,但看来它可以用于本地文件更改或共享驱动器文件更改。
由于某些真正的原因,我无法发布代码,但是我已使用jsch连接到SFTP服务器和Java nio Watch服务来检测文件更改。
我将在openshift上将Java springboot应用程序部署为docker容器(jsch和watcher服务可用于基于linux的容器来检测远程linux SFTP服务器上的文件更改吗?)
我浏览过Google并没有得到什么答案,但我有些困惑。
想知道一种更好的方法来检测基于远程SFTP的Linux服务器上的文件更改。
非常感谢您的帮助!
解决方法
检出rdp4j库:https://github.com/drapostolos/rdp4j/wiki/User-Guide
PolledDirectory示例以检测更改的文件:https://github.com/OhadR/rdp4j-client/blob/master/src/main/java/example/sftp/SFtpDirectory.java
在使用jsch时,另一个(有点怪异)的选择是仅在远程服务器上运行Linux命令,并获取在X和X + n时间戳之间修改的文件列表。您可以以编程方式指定精确的时间戳并按计划运行(所有文件“ pollers”基本上都是计划的作业,并且会经常检查)
find /tmp -type f -newermt "2020-08-12 15:01:00" ! -newermt "2020-08-12 15:02:00"
find命令的“ newermt”选项使您可以指定精确的时间戳范围,并且可以避免-mmin或-mtime选项附带的猜测工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。