2014-06-25 64 views
3

問題:在Windows 7上,由於我們無法使用nfs(自然而然沒有黑客),這對夫婦的性能真的很差。Magento和Vagrant使用rsync:性能和雙向同步

經過這麼多的研究,我發現解決問題的最好方法(也許是唯一的)就是使用rsync。好吧,我成功使用它,現在的性能真的很好!

我發現一個問題:它似乎是rsync是單向的。我的意思是?假設我成功安裝了magento,然後我稱之爲「vagrant rsync」命令。它會執行文件夾的新同步,並使guest虛擬機文件結構與主機文件結構同步,它會「刪除」Magento在安裝後爲我構建的etc/app/local.xml文件,只是暫停它不存在於主機文件結構中。

現在,我閱讀了一些解決方案,如排除文件夾或同步文件,但我認爲這並不是解決問題的好方法。

有人有更好的解決方案嗎?有兩種方法可以雙向同步兩個文件結構嗎?

UPDATE

我試圖找到一個解決方案。

1)我試圖使用unison,但是我發現了一些我無法理解的錯誤。 2)我試圖使用vagrant插件rsync-back,但似乎找不到合適的文件夾來同步 3)我最終選擇在虛擬機內執行rsync。通過流浪ssh訪問,執行命令「rsync -av/var/www// vagrant。 這似乎起作用

因此,目前,改善Vagrant和Magento性能的解決方案是激活爲了解決單向同步問題,我需要從虛擬機執行rsync命令,如果我需要從客戶機同步到主機(反之,它足以使用vagrant rsync)。更好的方式,請給我!

回答

1

現在確實如此; Vagrant的rsync支持不是雙向的 - 它只能從您的主機同步到虛擬機,而不是回來。有一個公開的問題添加雙向同步(rsync-push and rsync-pull),但我不確定此問題何時會看到白天。

一些其他的選擇,在此期間:

我喜歡rsync的主要原因是因爲它是Mac/Windows/Linux中最簡單/最強大的文件同步工具之一,並且它已經安裝在2/3的pl通知,只有Windows開發人員需要做任何額外的工作才能實現。大多數其他選項(NFS,Unison等)需要爲每個人提供額外的軟件,並且不會提供比rsynced文件更高的性能收益。

+0

感謝您的回覆geerlingguy。從一名開發人員的角度來看,他必須在Windows 7上工作,我認爲最好是在您的博客文章中使用samba。 – user2270248

+0

桑巴有這個問題,一段時間後,共享超時。它也不會在宿主中止(與流浪者一起)。最後,但並非最不重要的是,您需要以管理員身份開始流浪。 這是全部不好:(對我來說現在不符合SMB的要求 一些細節在這裏https://github.com/mitchellh/vagrant/issues/3635 – KrzysDan

0

我使用rsync有問題是它是一個單方向的,所以如果我的應用程序創建遠程服務器上的文件,它將被rsynced下一次當刪除。

我已經嘗試了上述建議,但我已經結束了使用ftp。

我正在使用phpstorm並使用自動部署。因此,如果我更改文件中的任何內容或創建新文件,它會自動將文件上傳到遠程服務器(VM)。

它仍然是一種方式,但它適用於我。