使用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...