我是靠谱客的博主 满意小刺猬,这篇文章主要介绍go 服务挂掉自动重启脚本,现在分享给大家,希望可以做个参考。

crontab -e:

复制代码
1
*/1 * * * *  /bin/bash /usr/local/sbin/check_hitpaw.sh 1.2.1 8089 &> /dev/null

check_hitpaw.sh:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash ## check RegCode running status and repair source /etc/profile; service_tmp=0 service="hitpaw-online" version=$1 port=$2 service_log="/var/log/$service/$version/check_$service.log" test -d `dirname $service_log` &> /dev/null || mkdir -p `dirname $service_log` service_check() { test -e /data/versions/hitpaw/$version/$service &> /dev/null result=$? if [ $result -ne 0 ];then         service_tmp=0;     echo -e "n This is not $service machine! n" else         service_tmp=1;         echo -e "n This is $service machine! n" fi if [ $service_tmp -eq 1 ];then         ps -ef |grep $service |grep -v grep &> /dev/null         service_status=$?         nc -vz -w 1 127.0.0.1 $port &> /dev/null         service_port_status=$?         curl -I http://127.0.0.1:$port?ischeck=1 &> /dev/null         http_status=$? if [ $service_status -ne 0 -o $service_port_status -ne 0 -o $http_status -ne 0 ];then         echo -e "n" >> $service_log         echo "service $service restart in `date +"%F %T"`" >> $service_log         kill -9 `lsof -i:$port |grep -v PID |awk '{print $2}'` >> $service_log         kill -9 `ps -ef |grep $service |grep -v grep |awk '{print $2}'` >> $service_log         cd /data/versions/hitpaw/$version/         nohup ./$service &>> $service_log &         echo -e "n" >> $service_log fi fi } #process service check step=2 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do     service_check     sleep $step done exit 0

最后

以上就是满意小刺猬最近收集整理的关于go 服务挂掉自动重启脚本的全部内容,更多相关go内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(103)

评论列表共有 0 条评论

立即
投稿
返回
顶部