Mac-Osx
如何每晚自動更新我的數據庫
目前,每天上班前,我都會完成以下流程:
- 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 本身是否支持任何類型的日誌傳送或鏡像?如果是這樣,那可能是一個更好的多合一解決方案。