2012-06-24 45 views
1

當新VM啓動時,我需要將燈具加載到系統中。我已經拋棄了MongoDB和Postgres。但是,每當新機器啓動時,我都不能坐在PC前面。我希望能夠「發出」一個命令或腳本自動執行。加載燈具時的安全問題

但是像pg_dump這樣的轉儲PostgreSQL的命令需要一個密碼。問題是,我用來部署這些燈具的腳本應該受版本控制。包含此密碼的文件(如果這是實現自動化的唯一方法)不會被提交。如果需要提交,則僅限內部開發人員使用部署存儲庫。

我的問題是......在這種情況下,你認爲什麼是好的做法?我正在考慮使用Python的Popen來發布這些命令。

謝謝。

我也可以把它放在緩存服務器...但不知道這是否是唯一的「更好」的方式...

回答

0

你必須給加載夾具的特權上寫用戶數據庫,無論你要加載數據的方式。

使用Postgres,您可以爲特定用戶提供沒有密碼的登錄權限,並消除共享密碼的問題,或者您可以將密碼存儲在主目錄中的pgpass文件中。

就我個人而言,我發現織物是一個非常好的工具來部署,在這種特殊情況下,我將使用它連接到遠程機器併發出psql -f 'dump_data.sql' -1命令。

+0

啊。是。其實我確實有fab。 -1在做什麼?比「pg_restore」好嗎?沒有密碼?這不是一個很大的安全問題嗎?謝謝。 – CppLearner

+0

-1將其包裝在交易中。談到安全性,你仍然必須能夠以該用戶的身份登錄才能發出查詢:),這對我來說聽起來並不安全。 –