
我有一個本地資料夾,我想與 webdav 伺服器同步。我的資料夾中有很多文件,在編輯一些文件或新增/刪除資料夾後,我需要將變更同步到 webdav 伺服器,忽略伺服器上的內容並始終使用我的檔案。我可以從命令列使用任何腳本或工具來執行此操作嗎?
而安裝資源並不是解決方案。
答案1
WebDav-sync 是為此目的而設計的 java 程式。http://www.re.be/webdav_sync/index.xhtml
答案2
mkdir /volumes/web_dav/
mount_webdav -s -i https://<web_dav_domain_name:port>/ /volumes/web_dav/
rsync -rvz /your_directory/ /volumes/web_dav/
umount /volumes/web_dav/
答案3
在已安裝的 webdav 磁碟機上使用 rsync 可能會失去其增量備份效率。 rsync 上的校驗和演算法可讓遠端檔案(全部或部分)下載並儲存在本機,然後可能會浪費下載頻寬。
一個不完美的解決方案是使用標誌“--size-only”來保存 bw:
rsync -ahvP --size-only /your/source/path /your/webdav_mount/path/
如果檔案隨後更新但大小仍然相同,則它將不起作用。
答案4
執行這種單向同步的快速解決方案似乎是重新使用和修改我建議作為答案的腳本這裡只需test -d "$src" && echo "rmcol \"$src\"";
在該行後面添加一個帶有單一左括號的內容即可。
請注意,這涉及每次重新傳輸所有內容,因此僅將其用於“小”目錄;否則,採用安裝和使用的解決方案rsync
會更合適。