我正在開發一個簡單的網站(在VPS中)使用PHP。 我的問題是:如何使用安全協議發送我所做的更改? 目前我使用scp但我需要一個軟件來檢查文件是否更改,如果是將它發送到服務器。如何自動上傳更改?
建議?
我正在開發一個簡單的網站(在VPS中)使用PHP。 我的問題是:如何使用安全協議發送我所做的更改? 目前我使用scp但我需要一個軟件來檢查文件是否更改,如果是將它發送到服務器。如何自動上傳更改?
建議?
使用的inotify + rsync的或lsyncd http://code.google.com/p/lsyncd/
退房這篇博客的inotify的方法http://www.cyberciti.biz/faq/linux-inotify-examples-to-replicate-directories/
如果您可以完全訪問您的VPS,那麼您可以通過ssh和webdav在本地將遠程主目錄掛載爲普通文件系統。之後,您可以在本地進行電腦編輯。任何更改都應該自動上傳。
看一看這個相關article
FTP(S):在目標上設置一個FTP服務器以及SSL證書(個人證書足夠好)。
SSH:你可以通過SSH本身傳遞文件,但我發現它最不可靠(imho)。
股票:您可以與本地計算機共享一個文件夾(與其他人一樣)。如果不難診斷斷開連接問題,這將是完美的解決方案。我已經經歷了這一點,這遠非愉快的經歷。
Dropbox:在您的VPS和本地PC上的保管箱客戶端上設置保管箱服務器。使用Dropbox的(或類似的方法,如SkyDrive中,icloud的..),也有一些額外優勢,例如,版本控制,恢復,衝突檢測...
總而言之,我認爲FTPS方式是最可靠和流行的一個我曾經用過的。通過SSH,它在大約2天后使用它導致了幾個問題。磁盤共享方法導致了我幾個問題,主要是因爲它需要你對協議有所瞭解。 雖然設置方法有點費時,但它仍然是一個很好的解決方案。不過,我只會將它用於較大的客戶,而不是平均的寵物愛好網站:)
再次,這只是從經驗。
你也可以使用Subversion來做到這一點,雖然安裝過程可能需要一點時間。
你基本上創建了一個Subversion版本庫並提交了所有的代碼。然後在您的Web服務器上,使根目錄成爲該存儲庫的簽出。
創建一個運行svn update命令的腳本,並將其設置爲提交後掛鉤。從本質上講,每當你從工作站進行提交時都會執行該腳本。
所以總之,你會......
當然,你將不得不隱藏所有的.svn目錄使用.htaccess文件公衆(提供你使用Apache)的。
我知道這是行得通的,就像我過去所做的那樣。
這個選項的美妙之處在於你也可以得到一個二合一的選擇。源版本和簡單的更新。如果你犯了一個錯誤,你也可以很容易地恢復它們。