Linux 创建文件时自动在服务器之间传输文件
Linux file transfer between server automatically when a file is created
在我的工作中,我使用了 2 个 Linux 服务器。
第一个用于网络抓取并将其创建为文本文件。
另一个用于分析来自网络爬虫的文本文件。
所以问题是当在网络爬虫服务器上创建文本文件时,
需要在分析服务器上自动传输。
我使用了 shell 编程指南,参考了一些技巧,
并设置爬虫服务器以能够在不需要密码的情况下执行 scp
命令(通过使用 ssh-keygen
命令,在位于 /root/ 的 authorized_keys
文件上添加 ssh-key
.ssh 目录)
但是我不知道如何在创建文件时以编程方式传输文件。
我的工作职位只是数据分析(不是编程)
所以,缺乏背景编程知识是我最大的担忧
如果有办法在创建文件时触发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
的更多信息
在我的工作中,我使用了 2 个 Linux 服务器。 第一个用于网络抓取并将其创建为文本文件。 另一个用于分析来自网络爬虫的文本文件。
所以问题是当在网络爬虫服务器上创建文本文件时, 需要在分析服务器上自动传输。
我使用了 shell 编程指南,参考了一些技巧,
并设置爬虫服务器以能够在不需要密码的情况下执行 scp
命令(通过使用 ssh-keygen
命令,在位于 /root/ 的 authorized_keys
文件上添加 ssh-key
.ssh 目录)
但是我不知道如何在创建文件时以编程方式传输文件。
我的工作职位只是数据分析(不是编程) 所以,缺乏背景编程知识是我最大的担忧
如果有办法在创建文件时触发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
的更多信息