linux系統中mysql自動備份腳本

 mysql數據庫中存儲着網站最核心最寶貴的數據,若是由於不可預測的緣由致使數據損壞或丟失,對一個網站的打擊是毀滅性的,一次又一次的教訓提醒着咱們必定要作好備份,可是手工備份確實比較麻煩,天天都要手工操做一次,mysql

若是站多的話簡直是一種折磨,不過好在咱們能夠經過編寫好的腳本讓系統自動備份數據,省去體力勞動。下面收集了幾種自動備份mysql數據庫的腳本,通常的站夠用了,但要注意:若是數據庫過大,或者系統設置不當,均可能致使自動備份失敗,所以即便採用了自動備份,也要記得常常查看是否備份成功,以及備份的數據是否完整、可用。web

  只須要將下面的腳本內容保存爲mysqlbackup.sh,並添加到crontab便可。如在ssh中輸入:
crontab -e
輸入:
00 00 * /home/website/mysqlbackup.sh
即爲天天00:00自動運行備份腳本。
  一、自動導出mysql備份,並上傳到指定ftpsql

!/bin/bash

ftp設置

Host=FTP_IP數據庫

Username=FTP_userbash

Passwd=FTP_passwd併發

備份mysql並導出到文件

mysqldump -u用戶 -p密碼 數據庫名 > $(date +%Y%m%d)-數據庫名.sqlssh

壓縮備份文件

tar -zcvf $(date +%Y%m%d)mysql數據庫名.tar.gz $(date +%Y%m%d)*網站

上傳到ftp

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)*

rm -rf $(date +%Y%m%d)*

二、自動備份mysql數據庫,併發送到指定email

備份並導出mysql數據庫到文件

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.

相關文章
相關標籤/搜索