在我的工作中,我使用2台Linux服务器。 第一个用于Web爬网并将其创建为文本文件。 另一个用于分析Web爬网程序中的文本文件。
所以问题是当在网络爬行服务器上创建文本文件时, 它需要在分析服务器上自动传输。
我使用shell编程指南参考一些提示,
并设置爬网服务器,以便能够执行scp
命令而无需密码(通过使用ssh-keygen
命令,在位于/ root /中的ssh-key
文件上添加authorized_keys
.ssh目录)
但我无法弄清楚如何在创建文件时以编程方式传输文件。
我的工作职位只是数据分析(不编程) 因此,缺乏背景编程知识是我最关心的问题
如果有一种方法可以在创建文件时触发scp
复制文件,请告知我们。
答案 0 :(得分:2)
您可以使用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
的更多信息