2015-04-29 82 views
1

我期待構建客戶端節點應用程序,以保持客戶端計算機上的文件夾與從遠程FTP服務器上克隆的文件夾發生的任何更改保持同步。使本地文件夾與遠程FTP文件夾保持同步

我可以連接到服務器並最初下載所有文件,但我不確定如何跟蹤文件更改。

我可以保留一個文件的文件名/校驗和在該遠程服務器上的某個地方的所有文件和文件夾,所以我可以告訴何時需要重新下載文件。然而,我不知道如何處理文件刪除,也許如果文件名不再在服務器端哈希文件,我知道要刪除它。

我想我問是否有更好的方法來保持本地和遠程文件夾與Nodejs同步?

+0

我假設'node'是一個絕對的需求,'lftp'及其鏡像命令不是一個選項。 –

+0

是的,我嘗試使用http://nwjs.io/構建桌面應用程序,因爲我的技能在於網絡技術。 – Titan

回答

0

我通過在服務器上生成一個「index」json文件來解決這個問題,該文件列出了每個文件的路徑以及它的大小和md5散列。然後我下載這個文件並對列表中的所有內容進行檢查,我下載的任何東西都丟失了。然後,我保存該索引文件的本地副本,然後下次檢查更新我的本地索引文件中存在的任何更新,但不是遠程文件時,表示需要刪除。在客戶端散列大量文件(10GB〜)非常緩慢,因此在第一次同步後,我將散列文件夾存儲在索引文件中,然後我可以比較本地/遠程索引中的文件夾散列值,如果存在差異,我可以然後對這些文件夾中的單個文件執行昂貴的哈希處理。

相關問題