自動備份mysql資料庫並發送到Email方法,mysqlemail
一個部落格,一個網站最重要的就是資料庫,所以經常備份資料是必須的.儘管 WordPress 有定時備份資料的外掛程式,但只能備份當前的部落格,不夠靈活.適合個人小小部落格,對於一些網站來說,就不適合了.現在很多人都擁有多個網站,showfom 同學就有幾個網站.每個網站都裝個外掛程式就比較麻煩了.況且不是每個網站都是WordPress 的 .
所以寫了個自動備份mysql資料庫的指令碼,再加上gmail這個G級郵箱,備份多少資料都可以了...下面是代碼:
mysqldump -uuser -ppassword --databases db1 db2 db3 > /home/website/backups/databackup.sqltar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/echo "主題:Database Backup" | mutt -a /home/website/backups/databackup.sql.tar.gz -s "內容:Database Backup" www@gmail.comrm -r /home/website/backups/*
將上面的代碼儲存為automysqlbackup.sh
然後利用crontab 實現動備份,在ssh下,
crontab -e
輸入以下內容:
00 00 * * * /home/website/automysqlbackup.sh
這樣就實現了每天00:00自動備份mysql資料庫並發送到Email
簡單的說明下吧.
第一句是一次性備份多個資料庫,這個要你用root許可權的使用者才可以的..-u後面的是資料庫使用者名稱 -p後面的是資料庫密碼 無需空格 db1 db2 db3為你需要備份的資料庫名.
如果你的資料庫使用者名稱沒有root這個許可權,可以改為這樣
mysqldump -uuser -ppassword db1 > /home/website/backups/db1.sqlmysqldump -uuser -ppassword db2 > /home/website/backups/db1.sqlmysqldump -uuser -ppassword db3 > /home/website/backups/db1.sql
第二句是將 backups 檔案夾裡面的資料檔案壓縮為檔案名稱:databackup.sql.tar.gz
第三句是將壓縮了的資料庫檔案發送到指定的郵箱.....
其中的主題:Database Backup ,就是郵件的主題, 內容:Database Backup,就是郵件的內用,
/home/website/backups/databackup.sql.tar.gz 為附件
www@gmail.com為要發送的Email