CentOS下每天自動備份mysql數據庫
每天自動備份mysql數據庫的腳本,并且自動發送到你指定的郵箱面,這樣vpser再也不會為丟失數據煩惱啦。
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 -s “內容:數據庫備份” www@gmail.com -a /home/website/backups/databackup.sql.tar.gz
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 為附件