mysql備份腳本(mysqldump)

来源:http://www.cnblogs.com/leffss/archive/2017/11/14/7832047.html
-Advertisement-
Play Games

#!/bin/bash #全備方式,一般在從機上執行,適用於小中型mysql資料庫 #刪除15天以前備份 #作者:fafu_li #時間:2015.08.10 source /etc/profile #載入系統環境變數 source ~/.bash_profile #載入用戶環境變數 set -o ... ...


#!/bin/bash
#全備方式,一般在從機上執行,適用於小中型mysql資料庫
#刪除15天以前備份
#作者:fafu_li
#時間:2015.08.10

source /etc/profile        #載入系統環境變數
source ~/.bash_profile    #載入用戶環境變數
set -o nounset             #引用未初始化變數時退出
#set -o errexit            #執行shell命令遇到錯誤時退出

user="root"
password="123456"
host="localhost"
port="3306"
#需備份的資料庫,數組
db=("test")
#備份時加鎖方式,
#MyISAM為鎖表--lock-all-tables,
#InnoDB為鎖行--single-transaction
lock="--single-transaction"
mysql_path="/usr/local/mysql"
backup_path="${mysql_path}/backup"
date=$(date +%Y-%m-%d_%H-%M-%S)
day=15
backup_log="${mysql_path}/backup.log"

#建立備份目錄
if [ ! -e $backup_path ];then
    mkdir -p $backup_path
fi

#刪除以前備份
find $backup_path -type f -mtime +$day -exec rm -rf {} \; > /dev/null 2>&1

echo "開始備份資料庫:${db[*]}"

#備份並壓縮
backup_sql(){
    dbname=$1
    backup_name="${dbname}_${date}.sql"
    #-R備份存儲過程,函數,觸發器
    mysqldump -h $host -P $port -u $user -p$password $lock --default-character-set=utf8 --flush-logs -R $dbname > $backup_path/$backup_name    
    if [[ $? == 0 ]];then
        cd $backup_path
        tar zcpvf $backup_name.tar.gz $backup_name
        size=$(du $backup_name.tar.gz -sh | awk '{print $1}')
        rm -rf $backup_name
        echo "$date 備份 $dbname($size) 成功 "
    else
        cd $backup_path
        rm -rf $backup_name
        echo "$date 備份 $dbname 失敗 "
    fi
}

#迴圈備份
length=${#db[@]}
for (( i = 0; i < $length; i++ )); do
        backup_sql ${db[$i]} >> $backup_log 2>&1
done

echo "備份結束,結果查看 $backup_log"
du $backup_path/*$date* -sh | awk '{print "文件:" $2 ",大小:" $1}'

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Sysbench 基準壓測 my.cnf ============================================ [TOC] line: V1.1 mail: [email protected] date: 2017 11 10 一、Sysench測試前準備 1.1、壓測環境 配置 | ...
  • [20171113]修改表結構刪除列相關問題4.txt--//連續寫了3篇修改表結構刪除列的相關問題,鏈接如下:http://blog.itpub.net/267265/viewspace-2147158/http://blog.itpub.net/267265/viewspace-2147163/ ...
  • VMware14版本安裝Ubuntu16.04 LTS的詳細安裝過程 ...
  • postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟體。postfix是Wietse Venema想要為使用最廣泛的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用se ...
  • 1.1 安裝系統的方法 l 光碟(ISO文件,光碟的鏡像文件) >>每一臺物理機都得給一個光碟機,如果用外置光碟機的話,是不是每台機器都需要插一下 l U盤:ISO鏡像刻錄到U盤==>>需要每台機器都需要插一下 l 並行安裝==>>網路安裝 l 自動化安裝 1.2 linux下批量安裝系統 kickst ...
  • 詳情: 1. tar 創建一個新的tar文件 解壓tar文件 查看tar文件 2. grep 在文件中查找字元串(不區分大小寫) 輸出成功匹配的行,以及該行之後的三行 在一個文件夾中遞歸查詢包含指定字元串的文件 3. find 查找指定文件名的文件(不區分大小寫) 對找到的文件執行某個命令 查找ho ...
  • 1.基本命令 創建目錄pathA:mkdir pathA 進入目錄pathA:cd pathA 查看目錄內容:ls 查看目錄下文件的詳細信息:ls -l,也可以是:ll(l是小寫的L,別看錯了) 拷貝文件fileA到目錄pathA(同層目錄前提):cp fileA pathB 拷貝目錄pathA(包 ...
  • #!/bin/bash #按日切割nginx日誌並壓縮,加入crontab每天0:00切割 #作者:fafu_li #時間:2015.08.15 source /etc/profile #載入系統環境變數 source ~/.bash_profile #載入用戶環境變數 set -o nounset... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...