2011-02-23 46 views
0

我試圖做一個php腳本來備份我的數據庫。 這是我到目前爲止已經試過:在Symfony應用程序中通過php備份MySQL

$command = "mysqldump -u [username] -p [password] [databasename] | gzip > db.sql.gz"; 
$this->output = system($command); 
  • 如何獲得密碼,並從databases.yml裏 用戶名?

  • 我如何能做到這一點送我 備份文件,而不是保存它 服務器(點菜的phpmyadmin)上的腳本?

回答

2

您可以創建一個symfony任務。如果您通過環境(即dev,prod)或連接,您可以訪問Doctrine連接管理器並創建連接。您可以使用該連接進行數據庫轉儲或從連接管理器獲取連接詳細信息。

您可以使用doctrine insert sql任務作爲您的任務的模板。我過去做過類似的事情。

+0

不錯的建議,但我希望能夠從任何地方做到這一點,而無需通過SSH登錄到服務器 – Manu 2011-02-23 12:19:47

+0

您的解決方案仍然需要你ssh進入服務器。如果沒有進入服務器,唯一的方法就是從瀏覽器中觸發它。你可以通過實例化任務類來觸發symfony任務。這正是cli應用所做的。 – xzyfer 2011-02-23 12:24:27

+0

我會考慮這樣做的動作 – Manu 2011-02-23 12:39:29