Linux利用curl监控api接口,请求失败,发送报警邮件

 

脚本文件

#/bin/env bash

while true;do
        curl -s http://172.16.30.102:8080/OcrWeb/servlet/OcrServlet -X POST -d 'pid=1&filedata=iVBORw0KGgoAAAANSUhEUgAAAZUAAACWCAYAAAAWuBUhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAoISURBVHhe7d09j9zGHQfg%2bT5UDMWObGkFOI4d2LINCEjcuVDhABcg6ezO6WQgAeLm4AAp3KbTB7gvsx%2fmMtwdvi1nuORxUsR6HoDQYHc4fDv%2bf0ty7xSawxf3AFCDUAGgGqECQDUxVD5PTQDYJzRPP01NANgnNL%2f5MDUBYJ%2fwqmlSEwD2Cc2vn6YmAOwTmuZVagLAPqF5573UBIB9hAoA1YS%2fv%2fKgHoA6wncvhAoAdYTmV49TEwD2Cc3j91MTAPbxG%2fUAVONvfwFQjT99D0A1oXkuVACow5UKANUIFQCqESoAVCNUAKhGqABQjVABoBqhAkA1QgWAamKofJmaALCPUAGgGre%2fAKhGqABQjVABoBqhAkA1QgWAaoQKANWE5tnnqQkA%2bwgVAKoRKgBUI1QAqEaoAFCNUAGgGqECQDVCBYBqYqj45UcA6hAqAFQTmoPbXwDUIVQAqMaDegCqESoAVCNUAKhGqABQTQyVF6kJAPsIFQCqCV99%2bmVqAsA%2b4U%2bvPk5NANgnfP99k5oAsE%2f4%2bWehAkAd4fVroQJAHeEvf%2f46NQFgn%2fD9y29TEwD2CT%2f98Z%2bpCQD7hDf%2ffpOaALBP%2bOnrH1MTAPYJP7z8W2oCwD4e1ANQTfjry29SEwD2Cd%2b8%2fCo1AWCf9FeK7%2b5vQrgP4%2blwe38891lwvL%2b9OUzni9Ph5ub%2bJk63d%2bdedzfT90O4iUtMjrf3h9J7rfj%2bzWH8fhz%2fcIjTbd%2fveHu5Dof7227lL8df3K5hP9xMVqJzjNsSlz0eLy7rEDuvGTM7tQua7YNu%2bXH%2fXmz7qf%2bl0fyHfsNzcusfp7g%2fb%2b6uHO12GW2%2f6uPHeW5vZvt0eTnRjvUpH6%2bt%2fYFLoWmGP9PSF%2f9c4ZrpimUs4H3BOJ%2bU3ck4HuYYC8f59YvQaHVF8fLkvevmORel47EtQN34o%2bBo9X0z48dRb9ug61KuYBx%2b810wFPihyIy2d00IL67jED6XwXAqdLGADvt5ahKqxWM3HK%2bhwI%2f3Zy6Q4jxxueMiWw6th46f3uv26WJAblmf4Xj163O8G0J6dry29gdyQvPO8GdauqJaPlEHXSHL9c2OMyoWs7qXiu3k9YX%2b3fiT16%2bFyu1tnObvdC6vdi6X2b%2b%2fUIyu7rfFdYyy76dCOttpnWH5S2P3658Zpw%2fTXOGMQX6MxbUv%2foVtfMj4%2fevjeU7LOododpNXrk9xX5d%2brrb2B7LCd%2f8YfvkxGwYF2cLeOxeG6ZVBufjepdtl03P83Ddf6OKJfhp%2f9M6eUBkVjm6abtdycJQD58K1UMksp79KKQ7chU7ch6ex88ek35%2bXV3jREKjr1%2bvS5vH7fb60bSXX16ffL7N9N8w73U9b%2bwM54fln%2f0nNoTCUT9TB6kI6kp8nnsynUBmfsfG1tt%2fKdTl5cKiMi8aw3FKoZAtLv%2bwrBfJqqESjsQ4pUBb3Qerfrldf2HMr2X66P%2b3n%2bfG6fiyH7S%2buy8bxs0Gz2or1KdkaZrvCD94%2b4flv%2f5WaQ1Fad6LGIpJO7PaEa69Krs6VK76jotgbXTlki3jOYsEuh8p0m6%2bHSnbf5LYrZ3EdO8Oy2vEOh%2bWiO7mS6cbfEPTj5ZX39Y4iXhi%2fD8C4ffMve1xchc48bH2G22aFW2sXtvYH2lD5cPgzLdtC5ewYC9khneCnedsiWJx9KNrdMtpbX7PCubZIjy0W7FiEcqHSzdNXjFKotF3Pr88L9jDP1fVdXMeRvt%2b1YxG3a3x18IBP1d0VQ%2fmZTevhoZIffxjvPLVF%2b3jahuPd8IGivKxt6zNcFQ3LWrK1PzDYHSqd86e64WQcviE1NS3OcZ7Zra9oIVTab4BNp%2fTG1lDpCvAkJMqh0veP0%2fBNpXabz6%2bV1ndibaiMlrXYN%2fUbjtfGYhvXZzp%2fycNCpTz%2bNFRm%2b%2frqfnrY%2brQ%2fLP1V0Zqrua39gXiufDD87a89odIZf9LM3dsfPgXGApy%2bZrxUwCfvxdenRTxO3af0TaHSFqXcraWFUGnllj%2b5fXMlLFaGyvhr2e1UOh7TT9QXU3YDBud5134K317El8cfxsuv55Xj8ID1GVxb9qWt%2feHt9sCvFMdrjLu7OBX69aGQKZ6jwGiLTv6bTUNRma9LoaBsCZW%2b7%2fVpTdEq3xq7sCZU0v5plzuERmGbMsG4PE%2br%2fd2a9v31t8jOy2rnWfmzsWL85X32vwyVNftoamt%2feJtlf%2fmxdKKeg6S99dPe9mkLWqmIdkUhV1iGgnAKlcy3hVrlolMoKJuuVEquFbOcpQC8cDVU4npOnjENY88%2fJadjcPn6KLTn29Dtu8xxOZ4%2fKOS3oLDPZ9aPv1io%2b20oBdOK9YljnH9G45XkRZfssrf2B7LC4z98lJptzVs4UdsTvS9iV07qrigUQmc4SReKwuhqYlocC8teKkTpveKyekuh0i63LTpxGo2zqeBcC5X0%2fmTZ%2fTwX25Xre1I6Nt3r%2bUK9%2fPswV473ycbx%2b%2bOVGfPaflqxPsNxuVyfYd5xUG%2ftD%2bSFH97MH9Rfnjzj5yTdW33fOJ0eXPfFov0EPe07UyqUF4ZlxH7pVlv520Gjkz%2bGWXdnrntYvKrojwrd%2fCutl1cN8ZN3sRAVLBXLuN%2fyz3nGRW0I6W7f5PZxLujOz2nSt6ziwZpMS39Cp9Ue09P7cSp8UHjI%2bNMPF%2bermNzP2syK9Zkcy%2f42bXtrrnDMtvYHssK7P7a3v0Yn6eI0nFhtoThfubT%2fTvudbiH0J2ZOGzxtAS0UhJHTckZjn8aPxTU%2f%2fLkI5PovLmdUUKbTvPBcPqg%2fhcC1jegUQmVcXC%2ffH4f3eWr32%2fS1cfGdj9Vuw8rjOzseS%2fONt%2bGh48f1jSGS%2b%2fJDfp%2buXZ%2bkDeo%2bFLqp%2fZkt%2fPxs7Q%2fMhPdev5uaVDMq4uOrqb7grwhTgP9H4fCtUKludOXThcpwG85tFOCXKxxu3ktNatp22w7glyE8%2f1qoAFBH%2bPiLQ2oCwD7h%2bSdCBYA6wqNnL1ITAPYJzbPPUhMA9hEqAFQTmqdCBYA6PFMBoBpXKgBUI1QAqMbtLwCqESoAVOP2FwDVCBUAqnH7C4BqQiNUAKhEqABQjVABoBqhAkA1QgWAaoQKANUIFQCqCc2T36UmAOwT3rx5k5oAsE9oHj9JTQDYx5UKANWEpmlSEwD2ESoAVOP2FwDVeFAPQDWhefd5agLAPqF58lFqAsA%2b%2fjthAKoRKgBUI1QAqEaoAFCNUAGgGqECQDVCBYBqYqh8npoAsE949EyoAFCHUAGgmtA8e5GaALBPvFIRKgDUER4d3P4CoI4YKq5UAKjD7S8AqgnN009TEwD2Cc0Hv09NANgnNO8LFQDqECoAVBND5ZPUBIB9QvNEqABQR3jkSgWASmKoeKYCQB1CBYBqPKgHoBoP6gGoxpUKANV4pgJANUIFgGrc%2fgKgGqECQDVCBYBqhAoA1QgVACq5v%2f8vOI2eIn8HG2UAAAAASUVORK5CYII%3d&pid=1' | grep '"ErrorCode":     "0"' >& /dev/null


        if [[ $? == 0 ]];then
                sleep 1200
        else
                echo 'there are something wrong with the interface' | \
                mailx -s 'YiTu API interface fails' liuhy@51cjml.com,alarm@51cjml.com
                sleep 60
                /root/tomcat_restart.sh
                if [[ $? == 0 ]];then
                        sleep 600
                fi
        fi
done

 

tomcat_restart.sh

 

#!/bin/sh
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$JAVA_HOME/bin:/root/bin:$PATH
export HISTCONTROL=ignoredups
export LESSOPEN=||/usr/bin/lesspipe.sh %s
/app/tomcat/bin/shutdown.sh
ps -ef|grep java|grep -v grep|awk '{print $2}'|xargs kill -9
/app/tomcat/bin/startup.sh

DATE=`date +%Y-%m-%d-%H:%M:%S`
echo "${DATE} 重启了tomcat" >> /home/tomcat_restart.log
~                                                       

 

systemd Unit文件

[Unit]
Description=Monitor YiTu API
Documentation=https://www.cnblogs.com/dissipate/p/13189428.html
After=network-online.target

[Service]
Type=simple
TimeoutSec=0
Restart=on-failure
RestartSec=2
RemainAfterExit=true
ExecStart=/bin/sh /usr/bin/monitor_api.sh &

[Install]
WantedBy=multi-user.target

 

posted @ 2020-08-08 23:25  ascertain  阅读(869)  评论(0编辑  收藏  举报