天天看點

一個mysql的備份腳本(可以結合多執行個體進行調整)

mysql資料庫備份腳本:

<code>#!/bin/bash</code>

<code>#定義變量資訊</code>

<code>USER=root</code>

<code>PASS=redhat12345  </code>

<code>SOCKET=</code><code>/data/3306/mysql</code><code>.sock</code>

<code>CMD=</code><code>"mysql -u$USER -p$PASS -S $SOCKET"</code>

<code>DUMP=</code><code>"mysqldump --opt -u$USER -p$PASS -S $SOCKET"</code>

<code>DES=</code><code>"/usr/src/mysqlbackup"</code>

<code>BACKUPTIME=</code><code>"date +%F-%H:%M"</code>

<code>#目錄判斷</code>

<code>if</code> <code>[ ! -d </code><code>"$DES/`date +%F`"</code> <code>];</code><code>then</code>

<code>mkdir</code> <code>-p </code><code>"$DES/`date +%F`"</code>

<code>fi</code>

<code>#mysqldump備份資料庫</code>

<code>echo</code> <code>"----------------------------start backup mysql-------------------------------"</code>

<code>for</code> <code>database </code><code>in</code> <code>`$CMD -e </code><code>"show databases"</code> <code>| </code><code>sed</code> <code>'1,2d'</code> <code>| </code><code>egrep</code> <code>-</code><code>v</code> <code>"mysql|schema"</code><code>`</code>

<code>do</code>

<code>$DUMP $database -B|</code><code>gzip</code><code>&gt;$DES/`</code><code>date</code> <code>+%F`/${database}.sql.gz</code>

<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>

<code>echo</code> <code>"$database has been backup successful"</code>

<code>else</code>

<code>echo</code> <code>"$database has been not successful"</code>

<code>/bin/sleep</code> <code>5</code>

<code>done</code>

<code>echo</code> <code>"---------------------------backup is end -------------------------------------"</code>

執行結果如下:

<code>[root@mysql-master mysqlbackup]</code><code># pwd</code>

<code>/usr/src/mysqlbackup</code>

<code>[root@mysql-master mysqlbackup]</code><code># ll</code>

<code>總用量 4</code>

<code>-rw-r--r-- 1 root root 805 12月  6 18:50 backup.sh</code>

<code>[root@mysql-master mysqlbackup]</code><code># bash backup.sh </code>

<code>----------------------------start backup mysql-------------------------------</code>

<code>dawnpro has been backup successful</code>

<code>hangzhou has been backup successful</code>

<code>james has been backup successful</code>

<code>wanlong has been backup successful</code>

<code>---------------------------backup is end -------------------------------------</code>

<code>總用量 8</code>

<code>drwxr-xr-x 2 root root 4096 12月  6 18:56 2016-12-06</code>

<code>-rw-r--r-- 1 root root  805 12月  6 18:50 backup.sh</code>

<code>[root@mysql-master mysqlbackup]</code><code># ll 2016-12-06/</code>

<code>總用量 16</code>

<code>-rw-r--r-- 1 root root 512 12月  6 18:56 dawnpro.sql.gz</code>

<code>-rw-r--r-- 1 root root 513 12月  6 18:56 hangzhou.sql.gz</code>

<code>-rw-r--r-- 1 root root 511 12月  6 18:56 james.sql.gz</code>

<code>-rw-r--r-- 1 root root 511 12月  6 18:56 wanlong.sql.gz</code>

<code>mysql&gt; show databases;</code>

<code>+--------------------+</code>

<code>| Database           |</code>

<code>| information_schema |</code>

<code>| dawnpro            |</code>

<code>| hangzhou           |</code>

<code>| james              |</code>

<code>| mysql              |</code>

<code>| performance_schema |</code>

<code>| wanlong            |</code>

<code>7 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

做個簡單的記錄,後面有空再補充詳細的注解或者對腳本進行優化

本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1880184,如需轉載請自行聯系原作者