在我的工作中,我使用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
的更多信息