在CentOS實現mysql資料庫的自動備份

來源:互聯網
上載者:User

標籤:

 資料是一個比較重要的資料,經常需要備份,每次都手動比較麻煩。本指令碼主要現實在CentOS中實現對資料庫的備份和保留最近十五天的備份檔案。避免太多無用陳舊的備份佔用空間。

#!/bin/bashid="root" #使用者名稱pwd="123123" #密碼dbs="conedu commlib" #資料庫名字的列表,多個資料庫用空格分開。backuppath="/root/mysqlbackup" #儲存備份的位置day=15   #保留最近幾天的備份[ ! -d $backpath ] &&mkdir -p $backuppath  #判斷備份目錄是否存在,不存時建立目錄。cd $backuppath   #轉到備份目錄,這句話可以省略。可以直接將路徑到命令的也行。backupname=mysql_$(date +%Y-%m-%d)  #產生備份檔案的名字的首碼,不帶尾碼。for db in $dbs;   #dbs是一個資料名字的集合。遍曆所有的資料。do   mysqldump -u$id -p$pwd -S /var/lib/mysql/mysql.sock $db >$backupname_$db.sql  #備份單個資料為.sql檔案。放到當前位置   if [ "$?" == "0" ]  #$? 得到上一個shell命令的執行的傳回值。0表示執行成功。其他表示錯誤。並將將結果寫入到日誌中。   then       echo $(date +%Y-%m-%d)" $db  mysqldump sucess">>mysql.log    else      echo $(date +%Y-%m-%d)"  $db mysql dump failed">>mysql.log      exit 0   fidonetar -czf $backupname.tar.gz *.sql #壓縮所有sql檔案if [ "$?" == "0" ]then   echo $(date +%Y-%m-%d)" tar sucess">>mysql.logelse   echo $(date +%Y-%m-%d)" tar failed">>mysql.log   exit 0firm -f *.sql  #刪除所有的sql檔案delname=mysql_$(date -d "$day day ago" +%Y-%m-%d).tar.gz  #得到要刪除的太舊的備份的名字。rm -f $delname  #刪除檔案。

 

只要用cron 指定時間,自動備份即可。

在CentOS實現mysql資料庫的自動備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.