2016-03-02 67 views
1

在我的工作中,我使用了2臺Linux服務器。 第一個用於網頁爬行並將其創建爲文本文件。 另一個用於分析來自網絡爬蟲的文本文件。在創建文件時自動在服務器之間傳輸Linux文件

所以問題是當一個文本文件在網絡爬行服務器上創建時,它需要在分析服務器上自動傳輸。

我用shell編程指南提到的一些技巧, 並設置抓取服務器能夠無需密碼來執行命令scp(通過使用ssh-keygen指揮,authorized_keys文件添加ssh-key位於/根/ .ssh目錄) 但我無法弄清楚如何以編程方式傳輸文件時創建。

我的工作職位是單純的數據分析(而不是編程) 因此,缺乏後臺編程知識是我的大問題

如果觸發scp創建時複製文件的方式,請告訴我。

+0

爲什麼我們需要有2臺電腦更多inotifywait?網頁爬蟲不能在抓取時進行分析嗎? –

+0

看看'inotifywait'。使用它來觀察創建網絡抓取文件的目錄,並將其rsync添加到分析框中。 –

+0

爲什麼需要2臺電腦?網頁爬蟲不能在抓取時進行分析嗎? >>>是的,但我們需要使用該分析服務器。可悲的是...... –

回答

1

您可以使用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/

+0

哇...迪爾我的救命恩人......
1.我在安裝服務器1(履帶)inotify工具
2.創建shell腳本如下
#!/ bin/sh的 inotifywait -mrq -e CREATE --format%w%f/home/solugen/test/script/txt |同時讀取FILE; do scp「$ FILE」211.238.134.72:/data/chano/solugen_wordcloud/; 完成
最後,它工作完美..
當在服務器1上創建一個txt文件時,它立即轉移到服務器2
謝謝!