【備份工具】XtraBackup 備份腳本

  • 全量備份怒详,沒有使用增量
  • 使用crontab 控制備份日期
  • 初次使用只需要修改對應(yīng)路徑與用戶名密碼后執(zhí)行 ./databack_xtrabackup.sh add即可

創(chuàng)建備份用戶

mysql> create user 'databak'@'localhost' identified by '1122333';

# 最小權(quán)限需要給 reload,lock tables,super這三個抖格,其余的看著給一般不需要了
mysql> grant reload,lock tables,super,replication client,show view,event,process on *.* to 'databak'@localhost;

mysql> plush privileges;

vi databack_xtrabackup.sh

#!/bin/bash
set -e
# 程序路徑
xtrabackup_path=/usr/bin/xtrabackup
# 日期
back_day=`date +%Y%m%d%H%M%S`
# 備份文件保留天數(shù),默認(rèn)保留15天
save_days=15
# 備份存儲的路徑與名稱設(shè)置
backup_dir=/app/db/mysql/backup/data
backup_log_dir=/app/db/mysql/backup/log
full_bak_name="xtra_full"
#incre_bak_name="xtra_incre"
full_log_name="log_full"
#incre_log_name="log_incre"
target_dir_full=${backup_dir}/${full_bak_name}
#target_dir_incre=${backup_dir}/${incre_bak_name}
log_dir_full=${backup_log_dir}/${full_log_name}
#log_dir_incre=${backup_log_dir}/${incre_log_name}
# 備份服務(wù)器信息
remote_host=192.168.66.101
remote_backup_dir=/data/mysql/backup
# Mysql相關(guān)信息
mysql_cnf=/etc/my.cnf
user=databak
pwd='1122333'
mysql_sock=/app/db/mysql/socket/mysql.sock
# 檢測運行臨時文件名稱
running_file=/tmp/is_running.txt
# 告警錯誤文件
warning_file=/tmp/warning.txt
# 初始化環(huán)境檢測
backup_environment_check()
{
    if [ ! -d ${backup_dir} ] || [ ! -d ${backup_log_dir} ];then
        mkdir -p ${backup_dir} ${backup_log_dir}
    fi
    if [ ! -x ${xtrabackup_path} ];then
        echo "*****${xtrabackup_path} is not exists! Please check!*****" && exit 1
    fi
}
# 清除歷史備份
his_backup_clean()
{
    find $backup_dir -name "xtra_*" -mtime +${save_days} -exec rm -rf {} \; || exit 1
    find $backup_log_dir -type f -name 'log_*' -mtime +${save_days} -exec rm -rf {} \; || exit 1
}
# 執(zhí)行備份
do_backup()
{
    # 執(zhí)行成功后刪除is_running.txt ,異常則退出
    xtrabackup --defaults-file=${mysql_cnf} --socket=${mysql_sock} --backup --user=${user} --password=${pwd} --target-dir=${target_dir_full}_${back_day} --parallel=4 > ${log_dir_full}.${back_day} 2>&1 && rm -f ${running_file} || exit 1
    # 執(zhí)行壓縮
    tar zcvf ${target_dir_full}_${back_day}.tar.gz ${target_dir_full}_${back_day} > /dev/null
    # 遠(yuǎn)程傳輸
    scp -q ${target_dir_full}_${back_day}.tar.gz root@${remote_host}:${remote_backup_dir}
    # 刪除壓縮文件
    rm -f ${target_dir_full}_${back_day}.tar.gz
}
# 添加定時任務(wù)
add_job_crontab()
{
    cat >> /etc/crontab << EOF
# 每天凌晨2點55分執(zhí)行備份
55 02 */1 * * root /bin/bash /app/scripts/databack_xtrabackup.sh
# 每個月的每周1,3,5執(zhí)行任務(wù).
#55 3 * * 1,3,5 root /bin/bash /app/scripts/databack_xtrabackup.sh
EOF
}
# 檢查是否正在運行
# 若程序正在運行則等待5分鐘*3次,超出等待則退出程序不繼續(xù)執(zhí)行
is_running_check()
{
    if [ -f ${running_file} ];then
        echo  "*****${running_file}文件存在邑茄,進(jìn)入等待*****"
        for (( i = 1; i <= 3; i++ )); do
            sleep 300s
        done
        echo "`date +%Y%m%d%H%M%S`  由于上一個備份未完成,程序退出忽略執(zhí)行當(dāng)天備份,請檢查原因!!!" >> ${warning_file} && rm -f ${running_file} && exit 1
    else
        touch ${running_file}
        backup_environment_check
        his_backup_clean
        do_backup
    fi
}
# ./databack_xtrabackup add 添加定時
type=$1
if [[ $1 == "add" ]]; then
  add_job_crontab && echo -e "\033[32m *****add crontab success***** \033[0m"
else
  is_running_check
fi
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贱田,一起剝皮案震驚了整個濱河市鸭巴,隨后出現(xiàn)的幾起案子错妖,更是在濱河造成了極大的恐慌维雇,老刑警劉巖埃叭,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件派任,死亡現(xiàn)場離奇詭異砸逊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吨瞎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門痹兜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人颤诀,你說我怎么就攤上這事字旭。” “怎么了崖叫?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵遗淳,是天一觀的道長。 經(jīng)常有香客問我心傀,道長屈暗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任脂男,我火速辦了婚禮养叛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宰翅。我一直安慰自己弃甥,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布汁讼。 她就那樣靜靜地躺著淆攻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘿架。 梳的紋絲不亂的頭發(fā)上瓶珊,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機(jī)與錄音耸彪,去河邊找鬼伞芹。 笑死,一個胖子當(dāng)著我的面吹牛搜囱,可吹牛的內(nèi)容都是我干的丑瞧。 我是一名探鬼主播柑土,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蜀肘,長吁一口氣:“原來是場噩夢啊……” “哼绊汹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扮宠,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤西乖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后坛增,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體获雕,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年收捣,在試婚紗的時候發(fā)現(xiàn)自己被綠了届案。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡罢艾,死狀恐怖楣颠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咐蚯,我是刑警寧澤童漩,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站春锋,受9級特大地震影響矫膨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜期奔,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一侧馅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呐萌,春花似錦馁痴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至渠旁,卻和暖如春攀例,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背顾腊。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工粤铭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杂靶。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓梆惯,卻偏偏與公主長得像酱鸭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子垛吗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容