bat腳本文件實(shí)現(xiàn)Windows服務(wù)器備份mssql數(shù)據(jù)文件自動上傳至阿里云OSS的方法

[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

前幾天寫過一篇關(guān)于熊二哥哥備份sql數(shù)據(jù)庫到百度云的文章,具體請看?利用免費(fèi)版SQL數(shù)據(jù)庫備份恢復(fù)助手直接備份數(shù)據(jù)到百度云的方法 這不又有客戶想備份到oss,有些軟件里沒有這個(gè)oss配置,很是尷尬,那也得處理一下不是;

詳細(xì)的闡述一下相關(guān)問題:

客戶需求:實(shí)現(xiàn)將Windows服務(wù)器上的SQLServer數(shù)據(jù)庫文件上傳至阿里云OSS內(nèi),實(shí)現(xiàn)數(shù)據(jù)長期備份。

需求難點(diǎn):網(wǎng)絡(luò)波動對上次數(shù)據(jù)完整性的影響,如何在前期規(guī)劃好后期新增的數(shù)據(jù)文件的歸檔分組與優(yōu)化管理,如何確保數(shù)據(jù)文件上傳的完整性檢查。

解決方法

1.在Windows下編寫bat批量執(zhí)行腳本配合定時(shí)任務(wù)時(shí)間數(shù)據(jù)傳輸。

2.選取osscmd工具,支持G級數(shù)據(jù)的切片上次與解決網(wǎng)絡(luò)波動時(shí)候的斷點(diǎn)續(xù)傳。

3.打包壓縮數(shù)據(jù)文件,減少傳流量帶寬,上傳完成后刪除壓縮包(腳本內(nèi)實(shí)現(xiàn))。

4.通過在Linux服務(wù)器同樣使用osscmd的list方法來抓取oss上的文件信息,以便比對與告警。

一、備份服務(wù)器端部署

1.安裝python,版本在2.5-2.7,建議2.7(已安裝忽略)

2.在c盤新建OSS目錄,并在次目錄下解壓osscmd文件

下載URL:https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_Python_API_20160419.zip?spm=5176.doc32171.2.3.lnaEuy&file=OSS_Python_API_20160419.zip

3.安裝rar壓縮文件(已安裝請直接忽略)

4.修改oss.bat腳本文件

OSS.bat文件內(nèi)容如下:

@echo off
rem mail:xuel@anchnet.com
set MON=%date:~0,4%%date:~5,2% #定義創(chuàng)建的時(shí)間目錄
set DATE=%date:~0,4%%date:~5,2%%date:~8,2% #定義時(shí)間
set TIME=%date%-%time%
set LOGDIR=C:\ #目錄
set DIR=D:\ #數(shù)據(jù)文件的盤符
echo "%TIME% 腳本開始執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log #輸出日志
set DIRNAME=SAP_BACKUP #數(shù)據(jù)文件的目錄
set NAME=老梁科技 #客戶名稱
set PY=C:\Python27\python.exe #python可執(zhí)行程序路徑
set OSSCMD=C:\OSS\osscmd #osscmd路徑
set RAR="C:\Program Files\WinRAR\WinRAR.exe" #rar路徑
set BUCKET=oss://dacexinxi/ #oss上bucket名稱
set ID=LTAI***aOIxxxxxxxx #access ID
set KEY=40u5sORa9JAVnlWwhekBJxxxxxxxxxx #access key
set HOST=oss-cn-beijing.aliyuncs.com #oss所在區(qū),內(nèi)網(wǎng)可以根據(jù)具體來寫

set FILE=Data1 #壓縮的數(shù)據(jù)文件目錄名稱
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%DIRNAME%\%FILE% #壓縮文件
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 壓縮文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log
%PY% %OSSCMD% mkdir %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME% --id=%ID% --key=%KEY% --host=%HOST% #創(chuàng)建oss目錄
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST% --thread_num=30 #使用multiupload上次文件
if errorlevel 1 (
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST% --thread_num=30
) else (
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 上傳文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log
)
del %DIR%%DATE%-%FILE%.rar #刪除壓縮數(shù)據(jù)文件
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 刪除文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log

set FILE=
set FILE=Data2
%RAR% a -k -r -s -m1 %DIR%%DATE%-%FILE%.rar %DIR%\%DIRNAME%\%FILE%
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 壓縮文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log
%PY% %OSSCMD% mkdir %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME% --id=%ID% --key=%KEY% --host=%HOST%
%PY% %OSSCMD% mp %DIR%%DATE%-%FILE%.rar %BUCKET%%NAME%/%MON%/%DATE%-%DIRNAME%/%DATE%-%FILE%.rar --id=%ID% --key=%KEY% --host=%HOST%
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 上傳文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log
del %DIR%%DATE%-%FILE%.rar
set TIME=
set TIME=%date%-%time%
echo "%TIME% %FILE% 刪除文件執(zhí)行完畢!">>%LOGDIR%\OSS\log\backup-oss.log
echo "-----------%TIME% 腳本執(zhí)行完畢!---------">>%LOGDIR%\OSS\log\backup-oss.log

5.Window創(chuàng)建定時(shí)任務(wù)

創(chuàng)建定時(shí)任務(wù)

“程序”/“附件”/“系統(tǒng)工具”/“任務(wù)計(jì)劃程序”命令

點(diǎn)擊“創(chuàng)建任務(wù)”后如圖所示:填寫好相應(yīng)的名稱和勾選好必要的條件

選擇“觸發(fā)器”選項(xiàng),點(diǎn)擊“新建”,創(chuàng)建任務(wù)執(zhí)行時(shí)間,“重復(fù)任務(wù)間隔”這個(gè)選擇后,后面有時(shí)間選擇,是每小時(shí),還是每分,可自己選擇后再修改時(shí)間,再確定。

再來配置需要執(zhí)行的“操作”,就是選擇所寫的程序或是BAT文件,這里很重要的配置是選擇BAT文件后,在“起始于(可選)”這里一定要填寫相應(yīng)執(zhí)行程序或是BAT文件的所在目錄,要不然是執(zhí)行不成功的。

二、監(jiān)控OSS上傳數(shù)據(jù)

1.下載osscmd工具并放置/oss目錄下

oss_check.sh檢測腳本如下:

#!/bin/bash
DATE=`date +%Y%m`
OSSCMD=/oss/osscmd
NAME=上海xx公司
PYCMD=/usr/bin/python
BUCKET=oss://dacexinxi/
TIME=`date +%Y%m%d`
DATANAME="${TIME}-SAP_BACKUP"
ID=LTAI***aOIHyxxx
KEY=40u5sORa9JAVnlWwhekBJzxxxxx
HOST=oss-cn-shenzhen.aliyuncs.com
WEIXIN=/oss/GFweixin.sh
MAILTIME=`date +%F' '%H:%M`

if [ -d /oss/log ];then
mkdir -p /oss/log/${TIME}
fi
$PYCMD $OSSCMD ls ${BUCKET}${NAME}/${DATE}/${DATANAME} --id=$ID --key=$KEY --host=$HOST>/oss/log/${TIME}/oss-check-${TIME}.log
NUM=`$PYCMD $OSSCMD ls ${BUCKET}${NAME}/${DATE}/${DATANAME} --id=$ID --key=$KEY --host=$HOST |grep rar|wc -l`
echo $NUM
if [ "${NUM}" != "4" ];then
/bin/bash /oss/GFweixin.sh xuel dace "無憂合租-oss_check is fail! TIME:${MAILTIME}"
else
/bin/bash /oss/GFweixin.sh xuel dace "無憂合租-oss_check is ok! TIME:${MAILTIME}"
fi
ls /oss/log/${TIME}/oss-check-${TIME}.log
if [ "$?" != "0" ];then
/bin/bash /oss/GFweixin.sh xuel dace "5uhezu-oss_check is fail! TIME:${MAILTIME}"
else
/bin/mail -r service@5uhezu.com -s "5uhezu-oss_check" serviceadmin@51idc.com </oss/log/${TIME}/oss-check-${TIME}.log
fi

五、結(jié)果展示

1.上傳日志查看

1.阿里云oss文件查看

可以在oss上是先以客戶名稱命名的一個(gè)目錄,其次是一年月來歸檔數(shù)據(jù)文件,其次是數(shù)據(jù)上傳備份目錄,最終是打包好的數(shù)據(jù)壓縮文件,如何后期需要定時(shí)刪除,則只需在腳本內(nèi)寫入根據(jù)時(shí)間來刪除即可,極大增強(qiáng)了擴(kuò)展性,以日期歸檔方便后續(xù)管理操作。

3.郵件日志

4.微信通知

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » bat腳本文件實(shí)現(xiàn)Windows服務(wù)器備份mssql數(shù)據(jù)文件自動上傳至阿里云OSS的方法

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情