真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

BAT批處理如何判斷服務(wù)是否正常運(yùn)行-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)BAT批處理如何判斷服務(wù)是否正常運(yùn)行,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站制作、井研網(wǎng)絡(luò)推廣、成都微信小程序、井研網(wǎng)絡(luò)營銷、井研企業(yè)策劃、井研品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供井研建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

先給大家普及下批處理的基本概念

批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進(jìn)行批量的處理,通常被認(rèn)為是一種簡化的腳本語言,它應(yīng)用于DOS和Windows系統(tǒng)中。批處理文件的擴(kuò)展名為bat 或cmd。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基于強(qiáng)大的圖片編輯軟件Photoshop的,用來批量處理圖片的腳本;而DOS批處理則是基于DOS命令的,用來自動地批量地執(zhí)行DOS命令以實現(xiàn)特定操作的腳本。更復(fù)雜的情況,需要使用if、for、goto等命令控制程式的運(yùn)行過程,如同C、Basic等高級語言一樣。如果需要實現(xiàn)更復(fù)雜的應(yīng)用,利用外部程式是必要的,這包括系統(tǒng)本身提供的外部命令和第三方提供的工具或者軟件。批處理程序雖然是在命令行環(huán)境中運(yùn)行,但不僅僅能使用命令行軟件,任何當(dāng)前系統(tǒng)下可運(yùn)行的程序都可以放在批處理文件中運(yùn)行。

前言

某qlik sense服務(wù)器需要一個health check(健康狀態(tài)監(jiān)測)的程序,所以就有了一下的批處理腳本。

大致功能如下:

  • 批處理獲取當(dāng)前日期時間

  • 批處理生成動態(tài)的文件名

  • 批處理輸出echo到日志文件

  • 批處理遍歷列表list

  • 批處理函數(shù)與call函數(shù)

  • 判斷服務(wù)是否運(yùn)行中

  • 批處理count計數(shù)

  • 批處理copy復(fù)制文件

  • 批處理判斷大于gtr(記住那輛跑車名,批處理大于、小于、等于、不小于、不大于和不等于)

@echo off
color 2E
set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2%
set filename=healthcheck.log
REM set "filename=healthcheck_%YYYYmmdd%_%hhmiss%.log"
set "datetime=%YYYYmmdd%%hhmiss%"
set allCount=0
set errorCount=0
set checkList="QlikSenseServiceDispatcher" "QlikSenseSchedulerService" "QlikSenseRepositoryService" "QlikSenseRepositoryDatabase" "QlikSenseProxyService" "QlikSensePrintingService" "QlikSenseEngineService" "QlikLoggingService"
echo ============================================ >%filename%
echo Health Checking by Qlik Team         >>%filename%
echo zhengkai.blog.csdn.net
echo (datetime: %datetime% )            >>%filename%
echo ============================================ >>%filename%
echo.                       >>%filename%
echo.                       >>%filename%
for %%L in (%checkList%) do call :health_check %%L 
echo ============================================ >>%filename%
echo Checking Finish.               >>%filename%
echo.                       >>%filename%
echo Error : %errorCount% of %allCount%      >>%filename%
echo.                       >>%filename%
echo ============================================ >>%filename%
call :check_status                 
echo ============================================ >>%filename%
goto:end

:health_check
sc query |find /i %1 >nul 2>nul
if not errorlevel 1 (
 echo SUCCESS...... %1             >>%filename%
)else (
 echo FAILD...... %1 is error !         >>%filename%
 set /a errorCount+=1
)
set /a allCount+=1
goto:eof

:check_status
if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)
goto:eof

:end
copy %filename% \\xxxx\DataShare\CSDN\ZhengKai\

批處理獲取當(dāng)前日期時間,生成動態(tài)的文件名

set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2%
set "filename=healthcheck_%YYYYmmdd%_%hhmiss%.log"
echo %filename%

批處理輸出echo到日志文件

  • > 就是清空輸出文件,重新輸出層

  • >> 就是追加到日子和文件

echo ============================================ >%filename%
echo Health Checking by Qlik Team         >>%filename%
echo ============================================ >>%filename%

批處理遍歷列表list

定義在一個List會后,就可以開始使用

  • for %%L 用什么變量來遍歷

  • in (%checkList%) 遍歷哪個數(shù)組

  • do echo %%L 遍歷來做什么

set checkList="QlikSenseServiceDispatcher" "QlikSenseSchedulerService" "QlikSenseRepositoryService" "QlikSenseRepositoryDatabase" "QlikSenseProxyService" "QlikSensePrintingService" "QlikSenseEngineService" "QlikLoggingService"
echo ============================================ >%filename%
echo Health Checking List             >>%filename%
for %%L in (%checkList%) do echo %%L 
echo ============================================ >>%filename%

批處理函數(shù)與call函數(shù)

定義一個:function_name,中間是函數(shù)內(nèi)容,后面以goto:eof結(jié)尾

call :check_status

:check_status
if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)
goto:eof

批處理count計數(shù)

計數(shù)加一 set /a allCount+=1

set allCount=0
for %%L in (%checkList%) do set /a allCount+=1

批處理copy復(fù)制文件

  • 復(fù)制文件 copy 文件名 目錄頁

  • 復(fù)制文件夾用xcopy,指定的目錄連文件和目錄結(jié)構(gòu)一并拷貝

copy %filename% "\\xxxx\DataShare\CSDN\ZhengKai\"

批處理大于、小于、等于、不小于、不大于和不等于

  • EQU - 等于

  • NEQ - 不等于

  • LSS - 小于

  • LEQ - 小于或等于

  • GTR - 大于

  • GEQ - 大于或等于


if %errorCount% gtr 0 (
 echo ###### this server is Not Health     >>%filename%
) else (
 echo ###### this server is Health       >>%filename%
)

關(guān)于“BAT批處理如何判斷服務(wù)是否正常運(yùn)行”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


名稱欄目:BAT批處理如何判斷服務(wù)是否正常運(yùn)行-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/deigjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部