Shell指令碼-----自動備份Mysql資料庫

來源:互聯網
上載者:User

標籤:mysql備份指令碼

指令碼的整體思路

    1.定義需要的變數

    2.利用for迴圈備份需要備份的庫,並以庫名-當天日期.sql命名,並記錄相關日誌

    3.建立備份當天的日期的目錄,向備份的Sql檔案移動到該目錄

    4.壓縮打包該目錄,以節省空間的,打包成功後刪除該目錄

    5.備份目錄只備份七天的資料庫,第八天刪除第一天的備份,目錄只會存在連續七天的備份檔案

    6.尋找備份目錄下的.log記錄檔,超過七天的刪除

#!/bin/bashmysql_bin=/usr/local/tdoa/mysql/bin/mysqldumpuser=rootpasswd=myoa888mysql_back=/mysql-backdate=$(date +%F)for i in td_oa td_oa_archive  bus crscelldo        $mysql_bin -u$user -p$passwd $i >> $mysql_back/$i-$date.sql        if [ $? -eq 0 ];then                        echo -e "$date $i Back Success\n" >> $mysql_back/back.log                else                        echo -e "$date $i Back Failure\n" >> $mysql_back/error.log        fidonecd $mysql_back        if [ ! -d $date ];then                mkdir $mysql_back/$date                mv $mysql_back/*.sql $mysql_back/$date        else                mv $mysql_back/*.sql $mysql_back/$date        fitar -czf mysql-$date.tar.gz $daterm -r $mysql_back/$datefind $mysql_back -name \*.gz -type f -mtime +6 -exec rm {} \;find $mysql_back -name \*.log -type f -atime +6 -exec rm {} \;


本文出自 “懸劍” 部落格,請務必保留此出處http://sublime.blog.51cto.com/8856101/1535990

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.