创建文件时,服务器之间的Linux文件传输

时间:2016-03-02 02:42:32

标签: linux shell ssh scp inotify

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

所以问题是当在网络爬行服务器上创建文本文件时, 它需要在分析服务器上自动传输。

我使用shell编程指南参考一些提示, 并设置爬网服务器,以便能够执行scp命令而无需密码(通过使用ssh-keygen命令,在位于/ root /中的ssh-key文件上添加authorized_keys .ssh目录) 但我无法弄清楚如何在创建文件时以编程方式传输文件。

我的工作职位只是数据分析(不编程) 因此,缺乏背景编程知识是我最关心的问题

如果有一种方法可以在创建文件时触发scp复制文件,请告知我们。

1 个答案:

答案 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的更多信息