日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

自動(dòng)恢復(fù)服務(wù)

更新時(shí)間:

服務(wù)或腳本在運(yùn)行過程中可能會(huì)因程序異常、服務(wù)器重啟、掉電等情況而停止運(yùn)行,如果不能及時(shí)恢復(fù)運(yùn)行,會(huì)給線上業(yè)務(wù)造成損失。您可以通過云助手插件ecs-tool-servicekeepalive,使服務(wù)或腳本在被中斷時(shí)快速恢復(fù)運(yùn)行,保障服務(wù)的可靠性和持續(xù)性。

方案原理

該方案是基于Linux操作系統(tǒng)的systemd service服務(wù)實(shí)現(xiàn)的。啟用插件ecs-tool-servicekeepalive時(shí),用戶只需輸入服務(wù)/程序的啟動(dòng)命令(例如,python /home/root/main.py)。啟用后,該插件會(huì)根據(jù)用戶輸入的啟動(dòng)命令,自動(dòng)生成systemd service配置,實(shí)現(xiàn)服務(wù)或腳本自啟動(dòng),無需您手動(dòng)配置systemd service。

說明

systemd service是Linux系統(tǒng)中的一個(gè)組件,可以用來自動(dòng)管理服務(wù),例如實(shí)現(xiàn)開機(jī)自啟動(dòng)和服務(wù)意外停止后自啟動(dòng)等。詳細(xì)介紹,請(qǐng)參見systemd官方文檔

方案實(shí)踐

  1. 完成服務(wù)或程序等部署后,以root權(quán)限啟動(dòng)云助手插件ecs-tool-servicekeepalive

    以root用戶運(yùn)行服務(wù)/腳本

    sudo acs-plugin-manager --exec --plugin ecs-tool-servicekeepalive --params "start,'cmd'"

    cmd:需替換為服務(wù)啟動(dòng)命令。例如,腳本執(zhí)行命令(/bin/bash /home/work/debug/debug.sh )、程序運(yùn)行命令(python /home/root/main.py)等。

    重要

    腳本或程序文件路徑需為根路徑。

    通過指定用戶運(yùn)行服務(wù)/腳本

    sudo acs-plugin-manager --exec --plugin ecs-tool-servicekeepalive --params "start,execstart='cmd',user=user_name,group=group_name"
    • cmd:需替換為服務(wù)啟動(dòng)命令。例如,腳本執(zhí)行命令(/bin/bash /home/work/debug/debug.sh )、程序運(yùn)行命令(python /home/root/main.py)等。

      重要

      腳本或程序文件路徑需為根路徑。

    • user_name:替換為服務(wù)運(yùn)行的用戶名。執(zhí)行cut -d: -f1 /etc/passwd可查看已創(chuàng)建的用戶。

    • group_name:替換為服務(wù)運(yùn)行的用戶組名。執(zhí)行cut -d: -f1 /etc/group可查看已創(chuàng)建的用戶組。

  2. 執(zhí)行以下命令,查看服務(wù)是否已被配置為自恢復(fù)。

    sudo acs-plugin-manager --exec --plugin ecs-tool-servicekeepalive --params "status"

    類似如下回顯,表示配置成功。

    image

  3. (可選)如果您需要取消服務(wù)/腳本自恢復(fù),可執(zhí)行如下命令。

    sudo acs-plugin-manager --exec --local --plugin ecs-tool-servicekeepalive --params "stop service_name"

    service_name:替換為已配置的服務(wù)配置名稱(即步驟2回顯中的service_name列)。

應(yīng)用示例

  1. 準(zhǔn)備環(huán)境。

    創(chuàng)建一個(gè)/home/work/debug文件夾,并在該文件夾下創(chuàng)建debug.sh腳本,該腳本會(huì)每秒打印一行日志到用戶指定的日志文件中。

    sudo mkdir -p /home/work/debug && \
    sudo tee /home/work/debug/debug.sh > /dev/null << 'EOF'
    #!/bin/bash
    while true
    do
       sudo echo "$(date '+%Y-%m-%d %H:%M:%S') progress is alive" >> $1
        sleep 1
    done
    EOF

    通過命令ps aux |grep debug.sh,發(fā)現(xiàn)腳本并未運(yùn)行。

    image

  2. 啟動(dòng)云助手插件。

    sudo acs-plugin-manager --exec --plugin ecs-tool-servicekeepalive --params "start,'/bin/bash /home/work/debug/debug.sh /home/work/debug/debug.log'"

    此時(shí)通過命令ps aux | grep debug.sh查看,發(fā)現(xiàn)腳本已經(jīng)在運(yùn)行(此時(shí)進(jìn)程號(hào)為2572)。

    image

  3. 驗(yàn)證腳本是否會(huì)自動(dòng)恢復(fù)運(yùn)行。

    重啟ECS腳本正常運(yùn)行

    在控制臺(tái)重啟ECS實(shí)例,ECS恢復(fù)后,登錄實(shí)例,執(zhí)行如下命令。

    ps aux |grep debug.sh

    發(fā)現(xiàn)服務(wù)debug.sh的進(jìn)程仍正常運(yùn)行,且進(jìn)程號(hào)更新為764,說明腳本被重新啟動(dòng)過。

    image

    Kill進(jìn)程腳本正常運(yùn)行

    1. 執(zhí)行如下命令,通過查找到debug.sh的進(jìn)程號(hào)。

      ps aux |grep debug.sh

      類似如下回顯,2572即為debug.sh進(jìn)程號(hào)。

      image

    2. 執(zhí)行如下命令,kill掉debug.sh進(jìn)程。

      sudo date && kill -9 進(jìn)程號(hào)
    3. 再次執(zhí)行如下命令,發(fā)現(xiàn)debug.sh仍在運(yùn)行且進(jìn)程號(hào)更新為4220,說明腳本被重新啟動(dòng)過。

      ps aux |grep debug.sh

      image

相關(guān)文檔

隨著業(yè)務(wù)規(guī)模的增長(zhǎng),數(shù)據(jù)請(qǐng)求和并發(fā)訪問量增大、您可以部署多臺(tái)ECS搭建一個(gè)具備可用區(qū)級(jí)別的故障災(zāi)備能力的服務(wù),保障數(shù)據(jù)的可用性和持續(xù)性。具體操作,請(qǐng)參見部署高可用架構(gòu)