pm2多進程管理和serv00保號

学习笔记 liuruoyu 160℃ 0评论

這是倆並不直接關聯的話題,寫在一起,是因爲都是在同一個星期內解決的問題,一起做筆記。

1、我在wap.ac以3美元1年的促銷活動價格,購買了1C1G的VPS,用來搭建TG轉發。

目前這裏有3項任務,分別是:

監聽若干個羣組中的所有消息,篩選出有文件代碼的消息,轉發給代碼機器人。

監聽監聽代碼機器人的消息,在需要點擊對話按鈕選擇“繼續加載”的時候,去點一下以便獲取後面未完成發送的媒體文件。

監聽代碼機器人的消息,把所獲得的媒體和文件,轉發到小夥伴的羣組裡。

這三項任務,分別由一個py腳本來進行。分別用pm2來啓動它。

pm2 start myScript.py --interpreter python3 --name mingzi

等3項都啓動起來了,檢查一下狀況:

pm2 list

確認無誤,就保持並且設置自動啓動:

pm2 startup
pm2 save

如果沒有正確的啓動,也可以收工輸入:

pm2 resurrect

2、自動對serv00的VPS進行SSH連接以保號,並且檢查那上面是否正確啓動了哪吒監控的客戶端。如果沒有,通過pm2來啓動它。

#!/bin/bash

for i in {1..2}
do
    echo "Execution round $i"

    # 第一台主機
    sshpass -p '密碼' ssh -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 賬戶名@s7.serv00.com << 'EOF1'
    if pgrep -x "nezha-agent" > /dev/null
    then
        echo "nezha-agent is running on 賬戶名"
    else
        /home/賬戶名/.npm-global/bin/pm2 resurrect
        echo "pm2 resurrect command executed on 賬戶名"
    fi
    exit
EOF1

    # 第二台主機
    sshpass -p '密碼' ssh -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 賬戶名@s7.serv00.com << 'EOF2'
    if pgrep -x "nezha-agent" > /dev/null
    then
        echo "nezha-agent is running on 賬戶名"
    else
        /home/賬戶名/.npm-global/bin/pm2 resurrect
        echo "pm2 resurrect command executed on 賬戶名"
    fi
    exit
EOF2

    # 第三台主機
    sshpass -p '密碼' ssh -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 賬戶名@s7.serv00.com << 'EOF3'
    if pgrep -x "nezha-agent" > /dev/null
    then
        echo "nezha-agent is running on 賬戶名"
    else
        /home/賬戶名/.npm-global/bin/pm2 resurrect
        echo "pm2 resurrect command executed on 賬戶名"
    fi
    exit
EOF3


    # 第四台主機
    sshpass -p '密碼' ssh -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 賬戶名@s7.serv00.com << 'EOF4'
    if pgrep -x "nezha-agent" > /dev/null
    then
        echo "nezha-agent is running on 賬戶名"
    else
        /home/賬戶名/.npm-global/bin/pm2 resurrect
        echo "pm2 resurrect command executed on 賬戶名"
    fi
    exit
EOF4

    # 第五台主機
    sshpass -p '密碼' ssh -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 賬戶名@s7.serv00.com << 'EOF5'
    if pgrep -x "nezha-agent" > /dev/null
    then
        echo "nezha-agent is running on 賬戶名"
    else
        /home/賬戶名/.npm-global/bin/pm2 resurrect
        echo "pm2 resurrect command executed on 賬戶名"
    fi
    exit
EOF5
done

echo "Script execution completed"

這個腳本,循環執行兩次,每次執行時,依次登錄5臺serv00主機,並且檢測是否有 “nezha-agent” 在運行中。如果有,就退出登錄,檢測下一臺。如果沒有,則通過喚醒pm2來啓動它。

使用cron來定時執行這個sh腳本:

编辑 crontab 文件:

crontab -e

crontab 文件中添加以下行:

*/15 * * * * /bin/bash /root/serv00-renew.sh

这里的 */15 * * * * 表示每 15 分钟执行一次。

这样设置后,cron 会每 15 分钟执行一次 /root/serv00-renew.sh 脚本。确保脚本有执行权限,可以使用以下命令设置权限:

chmod +x /root/serv00-renew.sh

转载请注明:刘太监的私藏 » pm2多進程管理和serv00保號

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址