自動MySQL備份搞定
最近把新機器弄了起來 就想說要把我的Blog搬到我自己的新機器上面去(有新家真好...XDDD) 當然因為我之前實在是太惡搞我學弟的機器 所以以至於說一堆MySQL的基本指令不能用(就指令找不到啦) 我真的頓時覺得超QQ的 因為我嘗試使用PHPMyaadmin去Dump出我的資料 但是我真的很多當初不曉得怎麼搞的 一堆資料庫的編碼不對 導致說PHPmyadmin太聰明的邦我轉碼 變成名副其實的"UTF-8亂碼" 都還原不回來 到最後把整個MySQL殺掉重裝 才搞定好這個問題 到最後的問題也是用mysqldump搞定 前幾天都在想說要怎麼做備份 簡單來說就是一整個備份策略(就是外加網站檔案 因為太大了寄不出去) 講一個非常老實的話我還沒完全擬定好...Orz
因為我最想要的就是直接mail到我的mailBox(因為我有Google app mail空間丟著很費浪...Orz 反正7G多了 當作一種備份儲存裝置也不錯 最重要的是mail fliter也弄的不錯) 所以說我要如何做到最基本的每天就定時dump出MySQL --> Zip sql --> mail附件出去 這就是最基本的處理方式 雖然說有的我之前已經實做過了 前幾天在搞定自己電腦的時候問題還是一堆
這裡簡述一下流程
Step 1. 先確認自己電腦有無Mail服務 如果沒有先去自己搞定一個 KeyWord:sendmail postfix
Step 2. Mysql備份 就是要先搞定Mysql的Dump 最簡單最快速的還是使用"mysqldump 有的時候去請教男人mysqldump要怎麼用還會看不懂...Orz
mysqldump -u[管理者id] -p[管理者密碼] [資料庫名稱] > [輸出檔名].sql這樣就OK了 往後要作些定期備份的話也很方便 寫入Shell中就好了回復的話 就先建立好空白資料庫 再把Dump出來的東西打回去就好了
mysql -u[管理者id] -p[管理者密碼] [資料庫名稱] < [輸出檔名].sql接著打包 就進入step3
Step 3. Mail出去 因為之前說到的要mail服務就是要在這裡用到 因為在文字介面底下 所以說要找到好用的Mail附件的軟體真的不容易 我是Google到"mutt" 如果要用sendmail的話要用uuencode這個奇怪的東西 所以說我還是選擇用"mutt"
mutt -s "[信件主旨]" -a [附件名稱].zip [mail位置@where.are.you]要注意的地方是說這裡的話沒有內容他會要你打內容 所以說你可以利用兩種方式一種是你固定打好內容
mutt -s "[信件主旨]" -a [附件名稱].zip [mail位置@where.are.you] < 內容文字檔或是
echo "你的內容" | mutt -s "[信件主旨]" -a [附件名稱].zip [mail位置@where.are.you]如果利用echo的話就可以玩的花樣就多一點了
以上就是我的Mysql的的其備份的方式 分享一下我的備份Script...Orz
1 2 3 4 5 6 7 8 9 10 |
|
接著我就把這個bash寫到 crontab中每天固定的同一時間就會自動去run了...XD