mysql數據庫中存儲着網站最核心最寶貴的數據,若是由於不可預測的緣由致使數據損壞或丟失,對一個網站的打擊是毀滅性的,一次又一次的教訓提醒着咱們必定要作好備份,可是手工備份確實比較麻煩,天天都要手工操做一次,mysql
若是站多的話簡直是一種折磨,不過好在咱們能夠經過編寫好的腳本讓系統自動備份數據,省去體力勞動。下面收集了幾種自動備份mysql數據庫的腳本,通常的站夠用了,但要注意:若是數據庫過大,或者系統設置不當,均可能致使自動備份失敗,所以即便採用了自動備份,也要記得常常查看是否備份成功,以及備份的數據是否完整、可用。web
只須要將下面的腳本內容保存爲mysqlbackup.sh,並添加到crontab便可。如在ssh中輸入:
crontab -e
輸入:
00 00 * /home/website/mysqlbackup.sh
即爲天天00:00自動運行備份腳本。
一、自動導出mysql備份,並上傳到指定ftpsql
Host=FTP_IP數據庫
Username=FTP_userbash
Passwd=FTP_passwd併發
mysqldump -u用戶 -p密碼 數據庫名 > $(date +%Y%m%d)-數據庫名.sqlssh
tar -zcvf $(date +%Y%m%d)mysql數據庫名.tar.gz $(date +%Y%m%d)*網站
echo "open $Hostcrontab
user $Username $Passwdip
bin
cd /hzg/
prompt off
mput $(date +%Y%m%d)mysql數據庫名.tar.gz
printf "\n"
close
bye"|ftp -i -n
rm -rf $(date +%Y%m%d)-數據庫名.sql $(date +%Y%m%d)mysql數據庫名.tar.gz
rm -rf $(date +%Y%m%d)*
二、自動備份mysql數據庫,併發送到指定email
mysqldump -uroot -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/mysqlbackup.sql.tar.gz -s "內容:數據庫備份" www@gmail.com
rm -r /home/website/backups/*
將-ppassword中的password換爲本身的root密碼,將db1 db2 db3換爲你須要備份的數據庫名。路徑和郵箱等本身替換便可。
也能夠用下面的命令直接導出mysql備份爲壓縮文件:
mysqldump -u用戶 -p密碼 數據庫名 | gzip -c > $(date +%Y%m%d)-數據庫名.sql.