在我的工作中,我使用2台Linux服务器。
第一个用于网络爬网并将其创建为文本文件。
另一个用于分析来自Web搜寻器的文本文件。

因此,问题在于在网络抓取服务器上创建文本文件时,
它需要在分析服务器上自动传输。

我使用过Shell编程指南,其中包含一些技巧,
并将爬网服务器设置为无需密码即可执行scp命令(通过使用ssh-keygen命令,在/root/.ssh目录中的ssh-key文件上添加authorized_keys)
但是我无法弄清楚在创建文件后如何以编程方式传输文件。

我的职位是数据分析(不编程)
因此,缺乏后台编程知识是我的最大担忧

如果创建文件时有触发scp复制文件的方法,请告诉我。

最佳答案

您可以使用inotifywait监视目录,并在目录中每次创建文件时运行命令。在这种情况下,您将触发scp命令。如果您将其设置为不提示输入密码,则应该一切就绪。

inotifywait -mrq -e CREATE --format %w%f /path/to/dir | while read FILE; do scp "$FILE"analysis_server:/path/on/anaylsis/server/; done

您可以在http://techarena51.com/index.php/inotify-tools-example/上找到有关inotifywait的更多信息

08-05 18:41
查看更多