2013-01-19 65 views
0

可能重複登錄完成活動:
Best way to monitor file system changes in linux如何使用ssh

我需要你的幫助。我如何記錄在Linux服務器上使用SSH完成的活動 - 諸如create file或dir之類的活動,刪除文件或目錄,爲特定路徑重命名文件或目錄。我需要一些解決方案任何bash,python或php腳本,或者如果在linux中有任何選項,我可以觀看在特定路徑或文件夾上完成的所有活動。我需要將這些日誌用於同步目的。

OK,讓我解釋一下你的整個方案。我正在使用同步工具,我們正在使用Samba共享所有文件和文件夾,並且我需要通過網絡同步這些文件。我grep桑巴日誌來觀看客戶端做的活動,如創建文件或文件夾,刪除文件和文件夾,重命名文件或文件夾我正在使用這些日誌我的同步工具和它的工作正常。但是,當使用samba完成更改時,我只能獲取日誌 - 如果更改是使用SSH完成的,那麼這些活動不會被記錄並且不會同步。因此,我需要grep記錄使用SSH爲特定路徑所做的更改(例如:/ mnt/test) - 在測試文件夾中進行的更改,如創建刪除和重命名。

+2

當然這是在http://stackoverflow.com/q/8381566/1328439之前提到的。 –

+0

也許如果你更詳細地描述這個問題,可能有其他的方法來看待它。例如,一個幹運行的rsync可以告訴你需要發生什麼同步,或者你可以簡單地使用rsync來管理同步。 –

+0

我添加了更多關於我的問題的信息。 – user1993197

回答

0

據我瞭解這裏發生的情況是這樣的。

有是出口有多個用戶的文件系統和一幫有對文件系統直接接入用戶的Samba服務器(他們通過SSH登錄)。而這個文件系統需要被複制到另一個位置。

的TS被顯影,以執行復制的工具。

這裏至少有兩個選項。

  1. 一種更傳統的方式做這將是定期運行在兩個位置之間rsync。因此副本不會總是一致的,但它很容易,並且系統是分區寬容和可用的。也就是說,這種方法從「CAP」定理中選擇「A」和P「

  2. 另一種受Dropbox類似雲存儲和即時複製流行的方法是觀察文件系統。 inotifyfam

    inotify的接口是最腳本語言包括Perl,Python和PHP。這個交易對可用性的一致性。這是到一個大的文件被複制它不會對對方進行訪問。

    FAM的接口都在PHP和可能提供其他語言。有關不同文件系統監視API的討論,請參閱linked question

第一個選項是essentialy一襯墊。第二個選項也不應該太難(例如,查看Dropbox守護進程源代碼)。

注:複製是在Serverfault.com一個經常性話題。

+0

THANKYOU Dmitri .... inotify是偉大的工具.... – user1993197

+0

如何將這些inotify事件記錄在文件中? – user1993197