一、問(wèn)題描述
某項(xiàng)目客戶要求把阿里云上一臺(tái)ECS非核心的MySQL庫(kù)做備份,具體要求如下:
1、每天1:00對(duì)mysql數(shù)據(jù)庫(kù)進(jìn)行完全備份。
2、備份文件存放到阿里云的NAS平臺(tái)上。
3、保留5天的備份副本。
TPS:
- 運(yùn)行mysql的ECS的操作系統(tǒng)為windows 2012 64位
- mysql的版本為MariaDB 10.2
- 本地備份路徑在C:mysql_backup(因?yàn)橹挥幸粋€(gè)系統(tǒng)盤,沒(méi)得選擇)
看似很簡(jiǎn)單的問(wèn)題,中間在實(shí)施過(guò)程中,還是遇到一些坑,特地作一下記錄,以備后續(xù)參考。
二、實(shí)施過(guò)程
2.1 編寫mysql的備份腳本
1、mysql的自動(dòng)備份腳本
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
cd C:Program FilesMariaDB 10.2bin&&mysqldump -hlocalhost -uroot -p***** --single-transaction --opt --events --triggers --routines -B itsm > C:itop_mysql_backupitsm_%Ymd%.sql
forfiles /p "C:itop_mysql_backup" /s /m *.sql /d -5 /c "cmd /c del @path"
mysqldump參數(shù)說(shuō)明:
- --single-transaction:該選項(xiàng)在導(dǎo)出數(shù)據(jù)之前提交一個(gè)BEGIN SQL語(yǔ)句,BEGIN 不會(huì)阻塞任何應(yīng)用程序且能保證導(dǎo)出時(shí)數(shù)據(jù)庫(kù)的一致性狀態(tài)。它只適用于多版本存儲(chǔ)引擎,僅InnoDB。本選項(xiàng)和--lock-tables 選項(xiàng)是互斥的,因?yàn)長(zhǎng)OCK TABLES 會(huì)使任何掛起的事務(wù)隱含提交。要想導(dǎo)出大表的話,應(yīng)結(jié)合使用--quick 選項(xiàng)。
- --opt: 等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 該選項(xiàng)默認(rèn)開(kāi)啟, 可以用--skip-opt禁用.
- --event: 導(dǎo)出事件
- --triggers: 導(dǎo)出觸發(fā)器
- --routines:導(dǎo)出存儲(chǔ)過(guò)程以及自定義函數(shù)
forfiles參數(shù)說(shuō)明:
- /p Path指定 Path,表明要從哪里開(kāi)始搜索。默認(rèn)的文件夾是當(dāng)前工作目錄,該目錄通過(guò)鍵入句號(hào) (.) 指定。注:絕對(duì)路徑應(yīng)該包含在雙引號(hào)中,且路徑應(yīng)該由反斜杠分割:example:"D:HOMEDesktop62backup"
- /m SearchMask
按照 SearchMask 搜索文件。默認(rèn)的 SearchMask 是 *.*。
- /s
指示 forfiles 在子目錄中搜索。
- /c Command
在每個(gè)文件上運(yùn)行指定的 Command。帶有空格的命令字符串必須用引號(hào)括起來(lái)。默認(rèn)的 Command 是 "cmd /c echo @file"。
- /d[{+ | -}] [{MM/*DD/YYYY* | DD}]
選擇日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/*DD/YYYY* 是指定的日期,DD 是當(dāng)前日期減去 DD 天。如果未指定 + 或-,則使用 +。DD 的有效范圍是 0 - 32768。
- /?
在命令提示符下顯示幫助。
2、設(shè)置腳本的靜默執(zhí)行
mysql_bak.vbs,內(nèi)容如下:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c mysql_bak.bat",vbhide
參數(shù)說(shuō)明:
- mysql_bak.bat:mysql備份腳本文件名。
2.2 設(shè)置定時(shí)計(jì)劃
1、任務(wù)計(jì)劃--》創(chuàng)建基本任務(wù)
2、設(shè)置觸發(fā)器
3、設(shè)置操作
2.3 同步備份文件至NAS
1、安裝SyncBackPro軟件
2、創(chuàng)建任務(wù)
1)點(diǎn)擊添加按鈕,創(chuàng)建任務(wù)
2)選擇任務(wù)的類型
TPS:
- 備份:不會(huì)刪除目標(biāo)端的文件,如果此文件在源端不存在的話。
- 同步:是雙向同步,最終兩邊的文件會(huì)達(dá)到一致。
- 鏡像:以源為標(biāo)準(zhǔn),同步到目標(biāo)源,如果目標(biāo)端的文件在源中不存在,則目標(biāo)端的文件會(huì)被刪除掉。
3)選擇同步文件的位置
4)選擇要同步的源文件夾和目標(biāo)文件夾
3、創(chuàng)建定時(shí)計(jì)劃
1)創(chuàng)建計(jì)劃任務(wù)
2)設(shè)置計(jì)劃任務(wù)
三、注意事項(xiàng)
1、設(shè)置windows計(jì)劃時(shí),操作階段,必須在“起始于”設(shè)置腳本的路徑,否則bat不能成功執(zhí)行。具體如下圖所示:
附Windows系統(tǒng)tracert命令詳解
1:作用
tracert 是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)診斷工具,可以列出分組經(jīng)過(guò)的路由節(jié)點(diǎn),以及它在IP 網(wǎng)絡(luò)中每一跳的延遲。(這里的延遲是指:分組從信息源發(fā)送到目的地所需的時(shí)間,延遲也分為許多的種類——傳播延遲、傳輸延遲、處理延遲、排隊(duì)延遲等,是大多數(shù)網(wǎng)站性能的瓶頸之一)
2:用法(可參看簡(jiǎn)單實(shí)用的Windows命令(一))
tracert命令的格式為:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name。
①、-d
表示不將地址解析成主機(jī)名。
②、-h maximum_hops
表示搜索目標(biāo)的最大躍點(diǎn)數(shù)。
③、-j host-list
表示與主機(jī)列表一起的松散源路由(僅適用于IPv4)。
④、-w timeout
表示等待每個(gè)回復(fù)的超時(shí)間(以毫秒為單位)。
⑤、-R
表示跟蹤往返行程路徑(僅適用于IPv6)。
⑥、-S srcaddr
表示要使用的源地址(僅適用于IPv6)。
⑦、-4和-6
表示強(qiáng)制使用IPv4或者IPv6。
⑧、target_name
表示目標(biāo)主機(jī)的名稱或者IP地址。
3:實(shí)例
命令執(zhí)行結(jié)果的說(shuō)明:
3-1:tracert命令用于確定 IP數(shù)據(jù)包訪問(wèn)目標(biāo)所采取的路徑,顯示從本地到目標(biāo)網(wǎng)站所在網(wǎng)絡(luò)服務(wù)器的一系列網(wǎng)絡(luò)節(jié)點(diǎn)的訪問(wèn)速度,最多支持顯示30個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。
3-2:最左側(cè)的,1,2,3,4~8,表明在我使用的寬帶(北京寬帶)上,經(jīng)過(guò)7(不算自己本地的)個(gè)路由節(jié)點(diǎn),可以到達(dá)百度的服務(wù);如果是電信可能有不同;其他的IP,也有可能不同;各位可以自行測(cè)試一下;
3-3:中間的三列,單位是ms,表示我們連接到每個(gè)路由節(jié)點(diǎn)的速度,返回速度和多次鏈接反饋的平均值;
3-4:后面的IP,就是每個(gè)路由節(jié)點(diǎn)對(duì)應(yīng)的IP,每個(gè)IP代表什么,各位可以通過(guò) 4(推薦的站長(zhǎng)工具)去了解
3-5:如果返回消息是超時(shí),則表示這個(gè)路由節(jié)點(diǎn)和當(dāng)前我們使用的寬帶,是無(wú)法聯(lián)通的,至于原因,就有很多種了,比如:特意在路由上做了過(guò)濾限制,或者確實(shí)是路由的問(wèn)題等,需要具體問(wèn)題具體分析;
3-6:如果在測(cè)試的時(shí)候,大量的都是*和返回超時(shí),則就說(shuō)明這個(gè)IP,在各個(gè)路由節(jié)點(diǎn)都有問(wèn)題
3-7:一般10個(gè)節(jié)點(diǎn)以內(nèi)可以完成跟蹤的網(wǎng)站,訪問(wèn)速度都是不錯(cuò)的;10到15個(gè)節(jié)點(diǎn)之內(nèi)才完成跟蹤的網(wǎng)站,訪問(wèn)速度則比較差,如果超過(guò)30個(gè)節(jié)點(diǎn)都沒(méi)有完成跟蹤的網(wǎng)站,則可以認(rèn)為目標(biāo)網(wǎng)站是無(wú)法訪問(wèn)的。
3-8:在Unix平臺(tái)上,traceroute 命令就相當(dāng)于windows平臺(tái)上的 tracert 命令
4:推薦一個(gè)查詢IP或者域名信息的工具(http://tool.chinaz.com)