国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在SHELL腳本中用curl處理服務器開機、關機、強制關機、重啟動作

這篇具有很好參考價值的文章主要介紹了在SHELL腳本中用curl處理服務器開機、關機、強制關機、重啟動作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


思路:利用了一張主控板來獲取服務器的開關機狀態(tài),開關機其實是給服務器一個500ms~1000ms的脈沖,等同與按了機箱面板的開關機按鈕開關。

獲取服務器的開關機狀態(tài)

if [ $# -lt 1 ]; then
    echo "no ip"
    exit 1
fi

IP=$1
#-----------------------------
if [ $# -eq 1 ]; then
#-----------------------------
# 只有1個參數(shù),第一通道獲取開關機狀態(tài)
    rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_2&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
    ret=$(echo "$rsp" | awk -F ';' '{print $1}' | grep red)
    if [ ! -z "${ret}" ]; then
        echo "ON"
        exit 0
    fi
    ret=$(echo "$rsp" | awk -F ';' '{print $1}' | grep black)
    if [ ! -z "${ret}" ]; then
        echo "OFF"
        exit 0
    fi
    echo "Unknown"
    exit 1
fi

服務器的開機、關機、強制關機、復位腳本

#!/bin/bash


if [ $# -lt 1 ]; then
    echo "no ip"
    exit 1
fi

IP=$1
#-----------------------------
if [ $# -eq 1 ]; then
#-----------------------------
# 只有1個參數(shù),第一通道獲取開關機狀態(tài)
    rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_2&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
    ret=$(echo "$rsp" | awk -F ';' '{print $1}' | grep red)
    if [ ! -z "${ret}" ]; then
        echo "ON"
        exit 0
    fi
    ret=$(echo "$rsp" | awk -F ';' '{print $1}' | grep black)
    if [ ! -z "${ret}" ]; then
        echo "OFF"
        exit 0
    fi
    echo "Unknown"
    exit 1
fi

echo " " >resultfail.txt

OP=$2
#-----------------------------
if [ $# -eq 2 ]; then
#-----------------------------
# 只有2個參數(shù),第一通道測試開關機、復位
    if [[ "${OP}" == "on" ]]; then
        rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_0=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "on succ"
        else
            echo "on fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "foff" ]]; then
        rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_1=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "off" ]]; then
        rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_4=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "rst" ]]; then
        rsp=$(curl -X GET "http://${IP}/led0.cgi?led0_3=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    else
        echo "Invalid Op"
        exit 1
    fi
#-----------------------------
elif [ $# -eq 3 ]; then
#-----------------------------    
# 有3個參數(shù) ,多通道測試開關機、復位
    CH=$3
    if [ $CH -lt 0 ]; then
        echo "Channel number:0~8"
        exit 1
    fi
    if [ $CH -gt 8 ]; then
        echo "Channel number:0~8"
        exit 1
    fi
    
    if [[ "${OP}" == "on" ]]; then
        rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_0=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "on succ"
        else
            echo "on fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "foff" ]]; then
        rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_1=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "off" ]]; then
        rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_4=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    elif [[ "${OP}" == "rst" ]]; then
        rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_3=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
        ret=$(echo "$rsp" | grep '.gif' | wc -l)
        if [ ${ret} -gt 0 ];then
            echo "${OP} succ"
        else
            echo "${OP} fail"
            echo "${OP} fail" >>resultfail.txt
            exit 1
        fi
    else
        echo "Invalid Channel"
        exit 1
    fi
#-----------------------------
elif [ $# -eq 4 ]; then
#-----------------------------    
# 有4個參數(shù),開關機循環(huán)測試
    CH=$3
    TIMES=$4
    
    if [ $CH -lt 0 ]; then
        echo "Channel number:0~8"
        exit 1
    fi
    if [ $CH -gt 8 ]; then
        echo "Channel number:0~8"
        exit 1
    fi
    if [ $TIMES -lt 0 ]; then
        echo "times number:1~10000"
        exit 1
    fi
    if [ $TIMES -gt 10000 ]; then
        echo "Channel number:0~10000"
        exit 1
    fi
    
    if [ "${OP}" == "on" ] || [ "${OP}" == "foff" ] || [ "${OP}" == "off" ] || [ "${OP}" == "rst" ]; then
        for ((i=1;i<=$TIMES ;i++))
        do 
            rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_0=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
            ret=$(echo "$rsp" | grep '.gif' | wc -l)
            if [ ${ret} -gt 0 ];then
                echo "on succ"
            else
                echo "on fail"
                #exit 1
            fi
            sleep 2
            rsp=$(curl -X GET "http://${IP}/led${CH}.cgi?led${CH}_1=0&WebToken=18c70020e5240008550c0008570c0008&t=1692190322" 2> /dev/null)
            ret=$(echo "$rsp" | grep '.gif' | wc -l)
            if [ ${ret} -gt 0 ];then
                echo "${OP} succ"
            else
                echo "${OP} fail"
                echo "${i}----${OP} fail" >>resultfail.txt
                #exit 1
            fi
            sleep 7
        done
    else
        echo "Invalid TIMES"
        exit 1
    fi
fi
#-----------------------------


exit 0


文章來源地址http://www.zghlxwxcb.cn/news/detail-733319.html

到了這里,關于在SHELL腳本中用curl處理服務器開機、關機、強制關機、重啟動作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • shell腳本實現(xiàn)刪除服務器指定目錄下文件方法

    上述腳本中,find 命令用于查找指定目錄下4天以前的文件,并將其刪除。其中,-type f 表示只查找普通文件,不包括目錄和符號鏈接等其他類型的文件;-mtime +3 表示查找修改時間早于3天前的文件;-delete 表示刪除查找到的文件。 腳本中的 $folder_path 可以替換為實際的目錄路徑

    2023年04月19日
    瀏覽(22)
  • shell腳本使用(宿主機windows-服務器-centos)--用于使用shell腳本方式控制docker容器

    shell腳本使用(宿主機windows-服務器-centos)--用于使用shell腳本方式控制docker容器

    需求: 我想要使得windows上編寫shell腳本,并且在這個shell腳本在linux中也可用 shell腳本在windows上無法直接運行,但是有WSL這個linux子系統(tǒng)的工具 可以使得shell腳本在主機上執(zhí)行 視頻講解連接 方式1 方式2

    2024年02月07日
    瀏覽(60)
  • 實現(xiàn)判斷服務器是否有git并拉取代碼的shell腳本

    判斷當前服務器是否有git,沒有的話使用yum install安裝,然后切換至普通用戶,創(chuàng)建目錄,并且進入新創(chuàng)建的目錄,git clone代碼

    2024年02月10日
    瀏覽(28)
  • 【Linux運維】shell腳本檢查服務器內(nèi)存和CPU利用率

    在管理服務器時候?qū)懥艘粋€ shell腳本,在服務上實現(xiàn)每天凌晨3點查系統(tǒng)的指定文件夾下的容量大小,如果超過10G就要刪除3天前的內(nèi)容,還要時刻查詢內(nèi)存和cpu利用率,如果超過80%就要提示用戶出現(xiàn)過載 將以上代碼保存為一個.sh文件,然后通過crontab在每天凌晨3點運行即可:

    2024年02月09日
    瀏覽(32)
  • 【Linux】在服務器上創(chuàng)建Crontab(定時任務),自動執(zhí)行shell腳本

    【Linux】在服務器上創(chuàng)建Crontab(定時任務),自動執(zhí)行shell腳本

    業(yè)務場景:該文即為上次編寫shell腳本的姊妹篇,在上文基礎上,將可執(zhí)行的腳本通過linux的定時任務自動執(zhí)行,節(jié)省人力物力,話不多說,開始操作! 連上服務器后,在任意位置都可以執(zhí)行: crontab -e 如果沒有進入 編輯cron任務模式 根據(jù)提示查看我們的服務器上是否未安裝crontab沒有則

    2024年02月14日
    瀏覽(36)
  • shell 腳本統(tǒng)計 http 文件服務器下指定目錄及其子目錄下所有文件的大小

    shell腳本如下: 首先 vi calculate_size.sh 寫入下入內(nèi)容 執(zhí)行 sh calculate_size.sh http://example.com/some/dir/ 即可統(tǒng)計 http 文件服務器http://example.com/some/dir/ 中 dir 目錄及其子目錄下所有文件的大小。

    2024年02月15日
    瀏覽(29)
  • Linux之實現(xiàn)Apache服務器監(jiān)控、數(shù)據(jù)庫定時備份及通過使用Shell腳本發(fā)送郵件

    Linux之實現(xiàn)Apache服務器監(jiān)控、數(shù)據(jù)庫定時備份及通過使用Shell腳本發(fā)送郵件

    目錄 ?一、Apache服務器監(jiān)控 為什么要用到服務監(jiān)控? 實現(xiàn)Apache服務器監(jiān)控 二、數(shù)據(jù)庫備份 為什么要用到數(shù)據(jù)庫備份? 實現(xiàn)數(shù)據(jù)庫備份 三、Shell腳本發(fā)送郵件 為什么要用使用Shell腳本發(fā)送郵件? 實現(xiàn)Shell腳本發(fā)送郵件 在Linux中監(jiān)控Apache服務器是非常重要的,原因如下: 保證

    2024年04月15日
    瀏覽(50)
  • shell腳本之003獲取固定時間段(分鐘)內(nèi)的日志,并將其定時通過sftp上傳至服務器中

    #!/bin/bash export PATH=/home/ccbt/software/lftp-4.9.2/usr/local/bin/:$PATH # 獲取當前系統(tǒng)時間 now=$(date +\\\"%Y/%m/%d %H:%M:%S\\\") echo \\\"當前日期時間:$now\\\" # 當前時間戳 now_time=$(date +%s) echo \\\"當前時間戳:$now_time\\\" #獲取指定開始時間的時間戳 10分鐘 time_befo=$(($now_time-600)) echo \\\"指定開始時間戳: $time_befo\\\"

    2024年02月01日
    瀏覽(22)
  • 命令行請求Web服務器curl

    curl 是常用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。 它的功能非常強大,命令行參數(shù)多達幾十種。如果熟練的話,完全可以取代 Postman 這一類的圖形界面工具。 curl https://www.example.com curl -b \\\'foo1=bar;foo2=bar2\\\' https://google.com curl -b coo

    2024年02月08日
    瀏覽(22)
  • curl命令服務器上執(zhí)行http請求

    curl命令服務器上執(zhí)行http請求

    ?1.?現(xiàn)在本地使用postman生成curl命令 ? ?注意: 將ip改成127.0.0.1,端口是實際服務運行的端口 ??2. 登錄云服務容器執(zhí)行命令,就可以模擬瀏覽器調(diào)用接口了

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包