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

2018-07-31 14:41 更新

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

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

一、簡介

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

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

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

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

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

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

1、開啟服務(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è)置計劃任務(wù)(crontab -e)


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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號