天天看點

shell整理(42)====mysql 分庫分表備份

shell 代碼如下

<code>[root@localhost /]</code><code># cat back.sh </code>

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

<code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>status &amp;&gt; </code><code>/dev/null</code>

<code>[ $? -</code><code>ne</code> <code>0 ]  &amp;&amp; </code><code>echo</code> <code>"請開啟 mysqld 服務"</code> <code>&amp;&amp; </code><code>exit</code> <code>0</code>

<code>user=root</code>

<code>pass=</code><code>"123.com"</code>

<code>backdb=`mysql -u$user -p</code><code>"$pass"</code> <code>-e</code><code>"show databases;"</code><code>|</code><code>sed</code> <code>'1d'</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>'schema'</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>'home'</code><code>| </code><code>grep</code> <code>-</code><code>v</code> <code>'mysql'</code><code>| </code><code>grep</code> <code>-</code><code>v</code> <code>'test'</code><code>`</code>

<code>echo</code> <code>-e </code><code>"\033[32m ======================= backup start =====================  \033[0m"</code>

<code>for</code> <code>i </code><code>in</code> <code>$backdb</code>

<code>do</code>

<code>    </code><code>tables=`mysql -u$user -p</code><code>"$pass"</code> <code>-e</code><code>"use $i;show tables;"</code> <code>| </code><code>sed</code> <code>'1d'</code><code>`</code>

<code>    </code><code>for</code> <code>j </code><code>in</code> <code>$tables</code>

<code>    </code><code>do</code>

<code>        </code><code>mysqldump -u$user -p</code><code>"$pass"</code> <code>-B --database $i --tables $j &gt; </code><code>/tmp/</code><code>${i}-${j}-`</code><code>date</code> <code>+%F.sql`</code>

<code>          </code><code>[ $? -</code><code>eq</code> <code>0  ] &amp;&amp; </code><code>echo</code> <code>-e </code><code>"$i $j \033[32m ok \033[0m"</code>  <code>|| </code><code>echo</code> <code>"$i $j \033[31m filed \033[0m"</code>

<code>    </code><code>done</code>

<code>done</code>

<code>        </code> 

<code>echo</code> <code>-e </code><code>"\033[32m========================backup stop==========================\033[0m"</code>

執行結果如下

<a href="https://s1.51cto.com/oss/201710/20/8813f5feea13ab5fb96d68d966bf26cd.png" target="_blank"></a>

<a href="https://s2.51cto.com/oss/201710/20/b7ddcb96697adca1bcbaeffb9372a9ec.png" target="_blank"></a>

本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1974745,如需轉載請自行聯系原作者