![](/img/trans.png)
[英]Intermittent 'OSError: [Errno 2] No such file or directory' over network share
[英]File changed event network share
我冒着給出一個答案的風險(你沒有說明關於速度等的要求)但是...... Dropbox會為你免費做到這一點,並且根本不需要編寫任何代碼。
當然,如果您需要實時同步,或者您希望避免與第三方“共享”文件(盡管您可以先加密它們),它可能不適合您的需求。
所以我終於找到了解決方案:我改變了一些網絡共享設置並使用了FileSystemWatcher
為防止文件在同步時同步,我使用md5 filehash。
我使用的代碼可以在pastebin中找到(這是一個快速而骯臟的代碼,只是這里提到的問題部分)。
從提到看門狗,我假設你在Linux下運行。 對於本地機器inotify可以提供幫助,但對於網絡共享你運氣不好。 Mercurial的inotify擴展http://hgbook.red-bean.com/read/adding-functionality-with-extensions.html具有相同的限制。
在類似的情況下(10K +文件)我在服務器和本地機器上都使用了帶有inotify的克隆mercurial存儲庫。 他們會自動提交並相互通知更改。 它有一點點延遲(在我的情況下沒有問題),但作為一個好人有一個完整的變化歷史,並在其中一個系統失效后容易重新生成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.