
我在 Windows 10 Pro 上使用 VSC 作為編輯器,並希望在檔案更改時同步到遠端伺服器。
我使用 Debian 來賓系統安裝了 WSL
如果我運行這個腳本
while inotifywait -r -e modify,create,delete /path/to/folder; do
rsync -rltzv --progress --chmod=0600 --exclude=.git/ --exclude=.vscode /path/to/folder [email protected]:~/remote/folder;
done;
rsync 不僅在我在 VSC 中儲存檔案時啟動,而且在我開啟檔案時啟動。雖然這並不重要,但它很煩人並且浪費頻寬。
我能做點什麼來反對它嗎?
編輯
我不知道是什麼原因造成的,但在我的設定下,問題似乎不再發生在我的機器上。但我沒有改變任何東西
答案1
您正在監視太多事件[*]。重要的事件是:
CLOSE_WRITE
,因為將資料放入文件需要關閉它們。您也可以認為該文件此時處於一致狀態。DELETE
, 對於已刪除的文件MOVED_TO
,MOVED_FROM
對於新增至樹中、移出樹或剛剛重新命名的檔案。
[*] 例如,在實驗上,MODIFY
發生多次(可能對於文件上的每個寫入操作),並且在此時複製文件可能會複製處於不一致狀態的文件。同樣,OPEN
即使您稍後不進行任何更改,也會發生這種情況。