一個博客,一個網站最重要的就是數據庫,所以經常備份數據是必須的.盡管 WordPress 有定時備份數據的插件,但只能備份當前的博客,不夠靈活.適合個人小小博客,對於一些網站來說,就不適合了.現在很多人都擁有多個網站,showfom 同學就有幾個網站.每個網站都裝個插件就比較麻煩了.況且不是每個網站都是 WordPress 的 .
所以寫了個自動備份MySQL數據庫的腳本,再加上gmail這個G級郵箱,備份多少數據都可以了...下面是代碼:
MySQLdump -uuser -ppassWord --databases db1 db2 db3 > /home/website/backups/databackup.sql
tar zcf /home/website/backups/databackup.sql.tar.gz /home/website/backups/
echo "主題:數據庫備份" | mutt -a /home/website/backups/databackup.sql.tar.gz -s "內容:數據庫備份" [email protected]
rm -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.sql
MySQLdump -uuser -ppassWord db2 > /home/website/backups/db1.sql
MySQLdump -uuser -ppassWord db3 > /home/website/backups/db1.sql
第二句是將 backups 文件夾裡面的數據文件壓縮為文件名:databackup.sql.tar.gz
第三句是將壓縮了的數據庫文件發送到指定的郵箱.....
其中的主題:數據庫備份 ,就是郵件的主題, 內容:數據庫備份,就是郵件的內用,
/home/website/backups/databackup.sql.tar.gz 為附件
[email protected]為要發送的Email