Linux 用shell腳本自動(dòng)化備份數(shù)據(jù)庫(kù)

2018-07-31 14:41 更新

防偽碼:防止誤刪系統(tǒng)數(shù)據(jù)庫(kù),定時(shí)備份你我更安心!              

      使用shell腳本自動(dòng)化備份數(shù)據(jù)庫(kù)

一、簡(jiǎn)介

系統(tǒng)數(shù)據(jù)庫(kù)如圖所示(以MySQL5.5為例)

1、information_schema:信息數(shù)據(jù)庫(kù),其中保存著關(guān)于MySQL服務(wù)器所維護(hù)的所有其他數(shù)據(jù)庫(kù)的信息。在information_schema中,有數(shù)個(gè)只讀表。它們實(shí)際上是視圖,而不是基本表,因此,你將無(wú)法看到與之相關(guān)的任何文件。

2、mysql:MySQL的的核心數(shù)據(jù)庫(kù),類似于SQLServer中的master表,主要負(fù)責(zé)存儲(chǔ)數(shù)據(jù)庫(kù)的用戶、權(quán)限設(shè)置、關(guān)鍵字、mysql自己需要使用的控制和管理信息等。不可以刪除,如果對(duì)mysql不是很了解,也不要輕易修改這個(gè)數(shù)據(jù)庫(kù)里面的表信息。

3、performance_schema:存儲(chǔ)引擎,主要用于收集數(shù)據(jù)庫(kù)服務(wù)器性能參數(shù)。

4、test:安裝時(shí)候創(chuàng)建的一個(gè)測(cè)試數(shù)據(jù)庫(kù),和它的名字一樣,是一個(gè)完全的空數(shù)據(jù)庫(kù),沒(méi)有任何表,可以刪除。

二、編寫腳本,自動(dòng)化備份數(shù)據(jù)庫(kù)(以test為例)

1、開(kāi)啟服務(wù)

2、用戶授權(quán)

3、編寫腳本(vim yy.sh)

腳本如下:

#!/bin/bash

#auto backup

back=/data/backup/`date +%Y%m%d`

mysqldb=test

mysqlpw=123456

mysqluser=backup

mysqlcmd=$(which mysqldump)


if [ $UID -ne 0 ];then

         echo "bixushiyongroot"

         exit

fi

if [ ! -d $back ];then

   mkdir -p   $back

else

   echo  "this  $back  is exit............."

fi


$mysqlcmd  -u$mysqluser  -p$mysqlpw  -d $mysqldb >$back/$mysqldb.sql


if [ $?  -eq 0 ];then

               echo  "The backup successful"

else

               echo    "Backup failure"

fi



4、設(shè)置執(zhí)行權(quán)限并執(zhí)行腳本

三、根據(jù)工作需要,設(shè)置計(jì)劃任務(wù)(crontab -e)


本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)