最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

BAT批處理判斷服務(wù)是否正常運(yùn)行的方法(批處理命令綜合應(yīng)用)

 更新時(shí)間:2020年02月20日 09:42:23   作者:Moshow鄭鍇  
批處理就是對(duì)某對(duì)象進(jìn)行批量的處理,通常被認(rèn)為是一種簡(jiǎn)化的腳本語(yǔ)言,它應(yīng)用于DOS和Windows系統(tǒng)中。這篇文章主要介紹了BAT批處理判斷服務(wù)是否正常運(yùn)行(批處理命令綜合應(yīng)用),需要的朋友可以參考下

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

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

前言

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

大致功能如下:

  • 批處理獲取當(dāng)前日期時(shí)間
  • 批處理生成動(dòng)態(tài)的文件名
  • 批處理輸出echo到日志文件
  • 批處理遍歷列表list
  • 批處理函數(shù)與call函數(shù)
  • 判斷服務(wù)是否運(yùn)行中
  • 批處理count計(jì)數(shù)
  • 批處理copy復(fù)制文件
  • 批處理判斷大于gtr(記住那輛跑車(chē)名,批處理大于、小于、等于、不小于、不大于和不等于)
@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)前日期時(shí)間,生成動(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

定義在一個(gè)List會(huì)后,就可以開(kāi)始使用

  • for %%L 用什么變量來(lái)遍歷
  • in (%checkList%) 遍歷哪個(gè)數(shù)組
  • do echo %%L 遍歷來(lái)做什么
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ù)

定義一個(gè):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計(jì)數(shù)

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

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

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

  • 復(fù)制文件 copy 文件名 目錄頁(yè)
  • 復(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%
)

總結(jié)

以上所述是小編給大家介紹的BAT批處理判斷服務(wù)是否正常運(yùn)行的方法(批處理命令綜合應(yīng)用),希望對(duì)大家有所幫助,也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • BAT 解密工具

    BAT 解密工具

    本工具用來(lái)對(duì)混淆文本編碼類(lèi)型的加密批處理進(jìn)行解密,在下面填入需要解密的批處理按回車(chē)鍵即可
    2007-08-08
  • 批處理BAT實(shí)現(xiàn)正弦曲線和拋物線代碼

    批處理BAT實(shí)現(xiàn)正弦曲線和拋物線代碼

    這篇文章主要介紹了批處理BAT實(shí)現(xiàn)正弦曲線和拋物線代碼,分享給大家,主要是為了讓大家能夠更好的理解BAT代碼。
    2014-09-09
  • 批處理腳本del命令的具體使用

    批處理腳本del命令的具體使用

    本文主要介紹了批處理腳本del命令的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • dos 內(nèi)容重定向符 > 和 >>

    dos 內(nèi)容重定向符 > 和 >>

    當(dāng)我們?cè)赾md窗口中查詢某條命令的幫助信息的時(shí)候,幫助信息是顯示在命令行窗口中的,命令行窗口關(guān)閉后,這些幫助信息就看不到了,如果下次還想看,又得在命令行窗口中輸入查詢命令,比較繁瑣。
    2009-07-07
  • phpsh hpcli開(kāi)發(fā)的終極方案(php版本切換的 批處理)

    phpsh hpcli開(kāi)發(fā)的終極方案(php版本切換的 批處理)

    最近用php代替vbs腳本,做些小工具的開(kāi)發(fā),了方便測(cè)試不同php版本的兼容,專(zhuān)門(mén)寫(xiě)了一個(gè) php版本切換的 批處理 phpsh.cmd,支持安裝到系統(tǒng)、卸載等功能,還支持多個(gè)php版本的任意切換需要先安裝phpStudy
    2020-08-08
  • Logo1免疫補(bǔ)丁.bat

    Logo1免疫補(bǔ)丁.bat

    Logo1免疫補(bǔ)丁.bat...
    2006-12-12
  • 用批處理實(shí)現(xiàn)auto.exe的免疫功能

    用批處理實(shí)現(xiàn)auto.exe的免疫功能

    網(wǎng)上有高手實(shí)現(xiàn)了auto.exe的手工設(shè)置auto免疫,我發(fā)現(xiàn)手工操作對(duì)于新手麻煩了點(diǎn),特自己寫(xiě)了個(gè)批處理方法大家使用。
    2007-12-12
  • dos中一些常用命令的errorlevel返回值

    dos中一些常用命令的errorlevel返回值

    這篇文章主要介紹了dos中一些常用命令的errorlevel返回值,方便大家在bat中方便判斷
    2014-05-05
  • 批處理自動(dòng)安裝Mysql與Redis的實(shí)現(xiàn)示例

    批處理自動(dòng)安裝Mysql與Redis的實(shí)現(xiàn)示例

    本文主要介紹了批處理自動(dòng)安裝Mysql與Redis的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • dos利用wget.exe讓殺毒軟件升級(jí)更自動(dòng)化

    dos利用wget.exe讓殺毒軟件升級(jí)更自動(dòng)化

    dos利用wget.exe讓殺毒軟件升級(jí)更自動(dòng)化...
    2007-03-03

最新評(píng)論

饶河县| 东宁县| 中方县| 偃师市| 孟津县| 临猗县| 织金县| 黄山市| 云南省| 万荣县| 湖南省| 永宁县| 舒城县| 奉节县| 北票市| 淮阳县| 工布江达县| 绩溪县| 盈江县| 额尔古纳市| 林芝县| 观塘区| 漠河县| 定远县| 邵东县| 梧州市| 平利县| 蓝田县| 麦盖提县| 合江县| 葵青区| 印江| 包头市| 松原市| 辽宁省| 奉贤区| 辽阳县| 台北县| 淳化县| 平乐县| 上饶县|