一、需求
線上一台機器做了rsync,從5台mysql機器拉取binlog日志到本地,之前是手動打包,現在寫了個腳本,放到crontab定期執行打包,并删除打包後的的檔案。
二、腳本如下
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<code>#!/bin/sh</code>
<code># usage: </code>
<code># nohup sh /tmp/backup_binlog_tar.sh > nohup.out 2>/dev/null &</code>
<code>dir_backup_tar=</code><code>"/data0/backup_log-bin_tar"</code><code>_`</code><code>date</code> <code>+%Y-%m-%d--%H-%M-%S`</code>
<code>echo</code> <code>$dir_backup_tar</code>
<code>mkdir</code> <code>-p $dir_backup_tar</code>
<code>dir_binlog_140=</code><code>"/data0/backup_log-bin/140/log-bin"</code>
<code>dir_binlog_141=</code><code>"/data0/backup_log-bin/141/log-bin"</code>
<code>dir_binlog_145=</code><code>"/data0/backup_log-bin/145/log-bin"</code>
<code>dir_binlog_146=</code><code>"/data0/backup_log-bin/146/log-bin"</code>
<code>dir_binlog_182=</code><code>"/data0/backup_log-bin/182/log-bin"</code>
<code>instance_seq=140</code>
<code>dir_binlog=$dir_binlog_140</code>
<code>if</code> <code>[ ! -d $dir_binlog ]; </code><code>then</code>
<code> </code><code>echo</code> <code>"$dir_binlog is not exit and skip!"</code>
<code>fi</code>
<code>for</code> <code>instance </code><code>in</code> <code>`</code><code>ls</code> <code>$dir_binlog`</code>
<code>do</code>
<code> </code><code>cd</code> <code>$dir_binlog</code>
<code> </code><code>tar</code> <code>-zcf $dir_backup_tar/</code><code>"$instance_seq"</code><code>"_"</code><code>"$instance"</code><code>".tar.gz"</code> <code>$instance</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>echo</code> <code>"delete $dir_binlog/$instance/* ..."</code>
<code> </code><code>rm</code> <code>-rf $dir_binlog/$instance/*</code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>"tar $dir_binlog/$instance failed!!!"</code>
<code> </code><code>fi</code>
<code>done</code>
<code>instance_seq=141</code>
<code>dir_binlog=$dir_binlog_141</code>
<code>instance_seq=145</code>
<code>dir_binlog=$dir_binlog_145</code>
<code>instance_seq=146</code>
<code>dir_binlog=$dir_binlog_146</code>
<code>instance_seq=182</code>
<code>dir_binlog=$dir_binlog_182</code>
本文轉自 zouqingyun 51CTO部落格,原文連結:http://blog.51cto.com/zouqingyun/1872665,如需轉載請自行聯系原作者