Mac-Osx

如何每晚自動更新我的數據庫

  • February 16, 2015

目前,每天上班前,我都會完成以下流程:

  • ssh 到生產伺服器
  • gzip 我們的日常數據庫轉儲文件
  • scp 壓縮後的轉儲文件到我的電腦
  • gunzip 轉儲文件
  • dropdb 我的數據庫
  • createdb mydatabase
  • psql mydatabase < dump.sql

是否有可能(我敢肯定)在 Mac OSX 上自動化這個過程?這樣在我早上上班的時候就完成了。如果是這樣,最快最簡單的方法是什麼

要在不輸入密碼的情況下允許 ssh 登錄到您的生產伺服器,您需要設置一些非互動式身份驗證(如果尚未設置)。

http://www.walkernews.net/2008/06/06/how-to-setup-non-interactive-ssh-login/

http://troy.jdmz.net/rsync/index.html

然後基本上是將每個步驟的命令添加到 shell 腳本並設置 cron 以每天早上執行該 shell 腳本。

是的 - 從您的伺服器編寫並安排 gzip/scp(或者更好的是,使其成為 rsync)部分。如果它也是 MacOS,我不確定執行此操作的詳細步驟是什麼,但這就是您想要的大綱。

然後,如果您知道它總是會在某個時間完成,只需在您的電腦上安排一個腳本到 gunzip/dropdb/createdb/psql。如果它並不總是在同一時間完成,那麼您可以通過檢查文件狀態、修改時間等來做一些花哨的事情。

以上哪些部分您不確定,或者覺得您需要更多詳細資訊?您是腳本新手,還是不確定如何使用 cron 或 what-have-you 來安排事情?

PostGRES 本身是否支持任何類型的日誌傳送或鏡像?如果是這樣,那可能是一個更好的多合一解決方案。

引用自:https://serverfault.com/questions/139715