簡介-邱月濤
公司新項目上線,今天建立全網(wǎng)備份,現(xiàn)在這記錄的是MySQL部分
備份方式:全備+binlog
備份地點:本地+異地
備份時間:每日0點,切割binlog日志
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、寶應(yīng)網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為寶應(yīng)等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1,環(huán)境介紹:
[root@jm1j-node1 scripts]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@jm1j-node1 scripts]# mysql -V
mysql Ver 14.14 Distrib 5.6.35, for linux-glibc2.5 (x86_64) using EditLine wrapper
2,規(guī)范腳本存放目錄
mkdir -p /server/scripts
3,編寫腳本內(nèi)容如下
#!/bin/bash
#---------------------------------------------------------
# $Name: mysqlbackup.sh
# $Version: v1.0
# $Author: qiuyuetao
# $organization: https://blog.51cto.com/qiuyt
# $Create Date: 2017-12-13
# $Description: Mysql backup script
#---------------------------------------------------------
#source /etc/init.d/functions
DAY=`date +%Y-%m-%d\-%H-%M`
BACK_DIR="/data/backup/mysql/dump"
DBUSER="root" #數(shù)據(jù)用戶
DBPASSWD="***數(shù)據(jù)庫密碼"
BIN_PATH="/application/mysql/bin" #全局變量,可以使用which獲取
LOG="/var/log/mysqlback.log" #備份日志
CKLOG="/var/log/bkmd5-"$DAY".log" #md5加密日志,后期發(fā)送郵件
## Close all tables and refresh log ####
"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush logs"
#"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush tables with read lock"
echo "mysqldump start `date +%F\ %H\:%M\:%S`" >> "$LOG"
## Each backup database to the target location ####
for i in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema|performance_schema"`
do
if [ ! -d "$BACK_DIR"/"$i" ]; then
mkdir -p "$BACK_DIR"/"$i"
fi
"$BIN_PATH"/mysqldump -u "$DBUSER" -p"$DBPASSWD" --default-character-set=utf8 --events --master-data=2 --lock-all-tables -f --log-error="$LOG" -B "$i"|gzip > "$BACK_DIR"/"$i"/"$DAY".sql.gz
md5sum "$BACK_DIR"/"$i"/"$(date +%F --date='0 days ago')"-*.sql.gz >>$CKLOG
done
echo "mysqldump stop `date +%F\ %H\:%M\:%S`" >> "$LOG"
echo "" >>"$LOG"
## Delete old 10day backup files 保留最近10天的數(shù)據(jù)####
for RM in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema|performance_schema"`
do
rm -rf "$BACK_DIR"/"$RM"/$(date +%F --date='10 days ago')*.sql.gz
done
echo 生產(chǎn)數(shù)據(jù)庫備份完整性MD5初始值 |mail -s 備份校驗 -a "$CKLOG" qiuyt@*****.com ##自己的郵箱
4,添加執(zhí)行權(quán)限
[root@jm1j-node1 scripts]# chmod +x mysqlbackup.sh `
5,在命令行手動測試
查看備份結(jié)果,
#如果沒有發(fā)送郵件,請檢查服務(wù)是否安裝,啟動,25端口是否啟用等等,然后手動發(fā)送郵件測試
6,配置郵箱
1)查看是否安裝mailx
[root@jm1j-node1 scripts]# rpm -qa|grep mailx
mailx-12.4-8.el6_6.x86_64
2)修改mail配置
[root@yilonghc-m01 ~]# tail /etc/mail.rc ##t添加如下內(nèi)容
set bsdcompat
set from=outlokk@163.com
set smtp=smtp.163.com
set smtp-auth-user=*****@163.com #自己的郵箱
set smtp-auth-password=***** ##授權(quán)碼
set smtp-auth=login
6,定時備份(正??梢约尤隿rontab定時任務(wù),每天0點執(zhí)行)
上面沒有找到,下面命令安裝
yum install -y vixie-cron
添加定時任務(wù)
crontab -e
#mysqlbackup by qyt at 2017-12-13
00 00 * * * /bin/sh /server/scripts/mysqlbackup.sh >/dev/null 2>&1
##異地備份,有多重方式,為了減少服務(wù)器壓力,我使用rsync 客戶端拉取方式
標(biāo)題名稱:mysql數(shù)據(jù)庫定時分庫備份(本地+異地)
文章出自:http://m.rwnh.cn/article24/jcjoce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、動態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、服務(wù)器托管、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)