Mysql資料備份三 指令碼備份mysqldump

2021-04-17 09:15:12 字數 1522 閱讀 1352

使用mysqldump進行備份,這個是最保險最安全的資料備份方法. 雖然使用它比mysqlhotcopy要慢些,但其匯出的是sql語句文字檔案,

不存在平台的相容性問題. 也可用於備份除myisam型別以外的資料表.

下面給出shell指令碼,大家可以根據自己的實際需要對其進行修改,以完成自己需要的功能.

shell=/bin/bash

path=/sbin:/bin:/usr/sbin:/usr/bin

mailto=root

home=/

# mysql data stored dir

today=`date +%y%m%d`

storedir=/backup/data/$today

mkdir $storedir

# delete overtime backup files

rm -rf /backup/data/$(date +%y%m%d --date='15 days ago')

# backup mysql data file

/usr/local/mysql/bin/mysqldump mysql --opt|gzip -9>$storedir/mysql.sql.tgz

/usr/local/mysql/bin/mysqldump test --opt|gzip -9>$storedir/test.sql.tgz

/usr/local/mysql/bin/mysqldump bbs --opt|gzip -9>$storedir/bbs.sql.tgz

上面shell指令碼完成了"mysql資料備份二"中同樣的功能.

下面是對這個指令碼的一些解釋:

/backup/data/ 為所有資料庫備份的存放目錄.

storedir=/backup/data/$today  為今日(指令碼執行的那天)資料庫備份的存放目錄,需要執行mkdir $storedir 進行生成.

/usr/local/mysql/bin/mysqldump mysql --opt|gzip -9>$storedir/mysql.sql.tgz

/usr/local/mysql/bin/mysqldump test --opt|gzip -9>$storedir/test.sql.tgz

/usr/local/mysql/bin/mysqldump bbs --opt|gzip -9>$storedir/bbs.sql.tgz

這三句就是對mysql,test,bbs三個資料庫進行備份並壓縮.使用mysqldump直接備份為sql語句文字檔案.

rm -rf /backup/data/$(date +%y%m%d --date='15 days ago')

只保留15天內的備份資料庫.  對15天之前的備份進行清除.

可以把這個指令碼取為任何你想要的名字,如backup.shell,並賦予執行許可權 chmod 700 backup.shell,

然後寫入crontab中,如下:

30 1 * * * /root/backup.sh

讓backup.sh指令碼在凌晨1點半執行,對資料庫進行備份.

三 指令碼編寫與執行

編寫指令碼的思路 明確指令碼實現的功能 哪些資料是變化的,把變化的資料用變數來表示 使用哪種流程控制 使用哪些系統命令 1 編寫指令碼 使用vim文字編輯器 每行一條linux命令,按執行順序依次編寫 2 賦予可執行許可權 若直接執行指令碼檔案,必須具有可執行屬性 3 執行指令碼檔案 指令碼檔案路徑...

Jmeter(三)指令碼製作與調優

重點 引數化 csv讀取資料 函式 難點 正規表示式 手工編寫指令碼 介面引數 介面的傳遞引數可由 1 介面文件 api文件 swagger工具整合 2 抓包工具 錄製指令碼 badboy工具錄製 1 介面文件 api文件 swagger 2 抓包工具 http 伺服器 1 配置 使用jmeter做...

Mysql 資料備份指令碼

mysql 備份指令碼 crontab e 0 2 home mysql bak bak.sh thisday date g m d bakdir home mysql bak bak name bakdir exp thisday sql mysqldump default character s...