我可以使用什麼工具將本機目錄的內容與 Rackspace Cloud Files 儲存桶的內容同步?
我需要一個類似 rsync 的應用程式來做鏡像,而不是備份應用程式。我想要的是有能力做到
rsync --update --delete /local/dir/ cloudfiles://bucket
以便遠端存儲桶包含/local/dir/
.
檔案的元資料(擁有者、權限)並不重要,且主目錄中沒有目錄。
答案1
將本機目錄同步到 Rackspace 雲端檔案的最簡單方法是透過openstack/swift 項目。在 ubuntu 上,可以使用以下命令安裝這些工具apt-get install python-swiftclient
然後,假設您位於要上傳的目錄中,請在終端機中執行以下命令:
$ swift -A https://auth.api.rackspacecloud.com/v1.0 -U <username> -K <api-key> upload <containername> . --changed
這會將檔案從目前目錄遞歸上傳到容器<containername>
,透過僅上傳更改的檔案來節省時間。您需要提供<username>
用於登入雲端控制面板的資訊以及<api-key>
同一控制面板中帳戶/帳戶設定下的可用資訊。
注意力:如果使用相對或絕對路徑,swift將使用偽路徑上傳它們在命令列上提供放入容器中。因此,如果.
您不進行同步,而是進行同步/var/www/test
,那麼檔案最終將位於/var/www/test
容器的偽路徑下 - 很可能,這不是您想要的。
答案2
對於 Linux,我找到了這個舊專案:http://code.google.com/p/cloudfiles-sync/wiki/Instructions
對於 Windows,有這個 GUI 工具: http://www.cloudberrylab.com/free-openstack-storage-explorer.aspx
我還剛發現這個工具可以讓您安裝雲端文件儲存:http://smestorage.com/?p=static&page=LinuxDrive
答案3
您可以使用 Rackspace Cloud Files FUSE 模組(http://www.rackspace.com/knowledge_center/article/mounting-rackspace-cloud-files-to-linux-using-cloudfuse)來建立可安裝的檔案系統,但請注意以下注意事項:
- 使用類似 --size-only 的東西來確定檔案是否已完全寫入,而不是 -a 或類似的東西,因為不支援設定權限和時間
- 使用 --bwlimit 不起作用,因為模組將寫入緩存在記憶體中的臨時檔案中,然後在上傳時耗盡所有頻寬;我正在使用trickle實用程式進行實驗,看看是否有幫助
答案4
我認為你可以使用 rsync 來實現這一點,但無論出於什麼原因,它都不適合你,也可以嘗試:Unison 檔案同步器,確實效果很好!