上線環境自動備份資料庫到Amazon S3

上線環境的資料庫,最好最異地備援,這樣資料的才能有好的安全性

我採用的備份方式,是每天早上自動備份將MySQL資料庫打包然後自動備份到S3

參考以下資料

https://github.com/woxxy/MySQL-backup-to-Amazon-S3

只要更改以下欄位:

MYSQLROOT=根據情況設定
MYSQLPASS=根據情況設定
S3BUCKET=根據情況設定
FILENAME=根據情況設定
DATABASE=根據情況設定

如果都ok了話,將設定好的新腳本存好,假設存為 eliving_mysql_to_s3.sh

再來是安裝S3cmd

  1. 如果是linux可以參考 http://s3tools.org/repositories 選擇適合的作業系統做安裝
  2. 如果是Mac的話可以用 brew install s3cmd 安裝

S3cmd安裝完之後要設定一下

執行 s3cmd –configure

然後填入他要求輸入的值,例如:s3的 access_key_id,和 secret_access_key,這兩個值被需到Amazon S3去取得

再來就是要測試是否有正確上傳到s3

先記得將腳本設為可以執行的權限 chmod 755 eliving_mysql_to_s3.sh

執行sh eliving_mysql_to_s3.sh

再來到S3上查看是否有備份成功

如果成功的話,就要設定固定時間自動備份

如果是linux系統的話可以使用 crontab

我是使用root專用的,執行 crontab -e

然後寫上

00 05 * * * /home/deploy/eliving_mysql_to_s3.sh

這樣就固定每天早上5:00會自動備份到S3了

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax