全量:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@master leo]
# cat dbfullbak.sh
#!/bin/bash
#use mysqldump to fully backup mysql data
bakdir=
/root/leo/full
logfile=
/root/leo/full/bak
.log
date=`
date
+%y%m%d`
begin=`
date
+
"%y年%m月%d日 %h:%m:%s"
`
cd
$bakdir
dumpfile=$date.sql
gzdumpfile=$date.sql.tgz
mysqldump -uroot -p123456 --all-databases --lock-all-tables --routines --triggers --events --master-data=2 --flush-logs > $dumpfile
tar
zcvf $gzdumpfile $dumpfile
rm
$dumpfile
last=`
date
+
"%y年%m月%d日 %h:%m:%s"
`
echo
開始:$begin 結束:$last $gzdumpfile succ >> $logfile
引數注釋:
1
2
3
4
5
6
7
--all-databases
#備份所有庫
--lock-all-tables
#為所有表加讀鎖
--routinge
#儲存過程與函式
--triggers
#觸發器
--events
#記錄事件
--master-data=2
#在備份檔案中記錄當前二進位制日誌的位置,並且為注釋的,1是不注釋掉在主從複製中才有意義
--flush-logs
#日誌滾動一次
結果如下:
1
2
3
4
5
6
[root@master full]
# ls
20140728.sql.tgz bak.log
[root@master full]
# cat bak.log
開始:2023年07月28日 19:02:59 結束:2023年07月28日 19:02:59 20140728.sql.tgz succ
開始:2023年07月28日 19:12:01 結束:2023年07月28日 19:12:01 20140728.sql.tgz succ
[root@master full]
#
增量備份:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[root@master leo]
# cat dbdailybak.sh
#!/bin/bash
bakdir=
/root/leo/binlog/
bindir=
/var/lib/mysql
logfile=
/root/leo/binlog/bak
.log
binfile=
/var/lib/mysql/mysql-bin
.index
mysqladmin -uroot -p123456 flush-logs
counter=`
wc
-l $binfile|
awk
''
`
nextnum=0
for
file
in
`
cat
$binfile`
do
base=`
basename
$
file
`
nextnum=`
expr
$nextnum + 1`
if
[ $nextnum -
eq
$counter ]
then
echo
$base skip! >> $logfile
else
dest=$bakdir/$base
if
(
test
-e $dest)
then
echo
$base exist! >> $logfile
else
cp
$bindir/$base $bakdir/
echo
$base copying >> $logfile
fi
fi
done
echo
`
date
+
"%y年%m月%d日 %h:%m:%s"
` $next bakup succ~ >> $logfile
MYSQL增量備份和全量備份指令碼
首先配置下mysql增量備份 server id 1 log bin var log mysql mysql bin.log binlog ignore db sys,mysql,information schema,performance schema 設定日誌格式 binlog format m...
mysql全量 增量備份指令碼
本篇文章主要講如何使用shell實現mysql全量,增量備份。增量備份在周一 週六凌晨3點,會複製mysql bin.00000 到指定目錄 而全量備份則使用mysqldump將所有的資料庫匯出,每週日凌晨3點執,並會刪除上週留下的mysq bin.00000 然後對mysql的備份操作會保留在ba...
Xtrabackup全量備份 增量備份指令碼
一 全量備份指令碼 1.全量備份指令碼 1 2 3 4 5 6 7 8 9 10 11 12 13 bin bash description xtrabackup complete author created by michael 2017 08 07 v0.1 user root passwd ...