Skip to content

Commit

Permalink
Fix overflow problem of status duration (#117)
Browse files Browse the repository at this point in the history
* 增加linux-amd64下快捷启动脚本

# -----------------------------------------------------------------
# 应用场景:本脚本需配合jiacrontab v2.2.0+ 版本使用
# (https://jiacrontab.iwannay.cn/download/jiacrontab-v2.2.0-linux-amd64.zip)
#
# 部署方法:1、解压上述zip包; 2、将本脚本放入解压后的目录终呈如下结构
#
# [root@localhost jiacrontab]# pwd
/data/wwwroot/jiacrontab
#  [root@localhost jiacrontab]# ll
#  总用量 16
#  drwxr-xr-x 3 root www  4096 8月  11 08:27 jiacrontab_admin 
#  drwxr-xr-x 4 root www  4096 8月  11 14:24 jiacrontabd
#  -rwx--x--x 1 root root 7163 8月  13 01:12 service
#
#  使用方法: ./service [start|stop|status|restart]
# -----------------------------------------------------------------


# -----配置项 start-----
# 提供进程搜索关键字(即:  "jiacrontab_admin"与“jiacrontab_admin” 在公共关键字部分,用于shell grep 过滤)
APP_KEYWORDS=jiacrontab

# 提供web前端服务的脚本文件(目录)名(对应: ./jiacrontab_admin/jiacrontab_admin)
ADMIN_SCRIPT_NAME=jiacrontab_admin

# 任务调度服务脚本文件(目录)名(对应: ./jiacrontabd/jiacrontabd)
BD_SCRIPT_NAME=jiacrontabd
# -----配置项 end-----

* Update service

-

* Update service

-

* Rename service to jiacrontabctl

rename the script file.

* Update jiacrontabctl

* Update jiacrontabctl

* Update jiacrontabctl

* Update jiacrontabctl

* 优化版

* Fix overflow problem of status duration
  • Loading branch information
wxy545812093 authored Aug 17, 2021
1 parent d30f70b commit 7cc0374
Showing 1 changed file with 57 additions and 42 deletions.
99 changes: 57 additions & 42 deletions deployment/jiacrontabctl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# 1033992 -rwx--x--x 1 root root 7.4K 8月 14 21:30 jiacrontabctl
# 1034047 drwxr-xr-x 3 root www 4.0K 8月 11 08:27 jiacrontab_admin
# 1033995 drwxr-xr-x 4 root www 4.0K 8月 11 14:24 jiacrontabd
# [root@vipkwd jiacrontab]#
# [root@vipkwd_com jiacrontab]#
# -----------------------------------------------------------------


Expand All @@ -32,7 +32,6 @@ BD_SCRIPT_NAME=jiacrontabd
DEPLOY_PATH=
# -----配置项 end-----



FORMATER_LINE="------------------------------------------------------------------------------------------------------"
ECHO_PREFIX=" -- "
Expand All @@ -59,8 +58,11 @@ apps=""

[[ $ai -gt 0 ]] && exit 1

ADMIN_CLI_IS_RUNNING=0
BD_CLI_IS_RUNNING=0

function _timeNow(){
nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
nowtime=`date "+%Y-%m-%d %H:%M:%S"`
}

function _runApp(){
Expand All @@ -87,37 +89,20 @@ function _runApp(){
fi
}

function start(){
ADMIN_FLAG=0
BD_FLAG=0
for cli in `ps -ef | grep "$APP_KEYWORDS" | grep -v grep | awk -F '/' '{print $3}'`

function _cliListen(){
for cli in `ps -ef | grep "$APP_KEYWORDS" | grep -v "grep" | awk -F ' ./' '{print $2}'`
do
if [ "${cli}" == "${ADMIN_SCRIPT_NAME}" ];then
ADMIN_FLAG=1
ADMIN_CLI_IS_RUNNING=1
fi
if [ "${cli}" == "${BD_SCRIPT_NAME}" ];then
BD_FLAG=1
fi
done
_runApp "${ADMIN_FLAG}" "${ADMIN_SCRIPT_NAME}"
_runApp "${BD_FLAG}" "${BD_SCRIPT_NAME}"
}

function stop(){
for line in `ps -ef | grep "$APP_KEYWORDS" | grep -v grep | awk -F ' ' '{print $2 " " $8}'`
do
STR=`echo $line | awk '{print $1}'`
if [ $STR -gt 0 ] 2> /dev/null ;then
kill -9 $STR;
else
echo -e " ${ECHO_PREFIX} \033[33m${STR}\033[0m (\033[34mStoped\033[0m) "
#sleep 1;
BD_CLI_IS_RUNNING=1
fi
done
echo "" > ${PROJECT_ROOT}/${STIME_LOGFILE}
done
}

function parseDuringTime(){
function _parseDuringTime(){
#parseTimeResultStr=""
logfile="${PROJECT_ROOT}/${STIME_LOGFILE}"
if [ -f $logfile ];then
Expand Down Expand Up @@ -152,36 +137,66 @@ function parseDuringTime(){
return 0
}

function start(){
_cliListen
if [ $ADMIN_CLI_IS_RUNNING -eq 0 -a $BD_CLI_IS_RUNNING -eq 0 ];then
echo "" > ${PROJECT_ROOT}/${STIME_LOGFILE}
fi
_runApp "${ADMIN_CLI_IS_RUNNING}" "${ADMIN_SCRIPT_NAME}"
_runApp "${BD_CLI_IS_RUNNING}" "${BD_SCRIPT_NAME}"
}

function stop(){
for line in `ps -ef | grep "$APP_KEYWORDS" | grep -v grep | awk -F ' ' '{print $2 " " $NF}'`
do
STR=`echo $line | awk '{print $1}'`
if [ $STR -gt 0 ] 2> /dev/null ;then
kill -9 $STR;
else
echo -e " ${ECHO_PREFIX} \033[33m${STR}\033[0m (\033[34mStoped\033[0m) "
#sleep 1;
fi
done
echo "" > ${PROJECT_ROOT}/${STIME_LOGFILE}
}

function status(){
if [ `ps -ef | grep "$APP_KEYWORDS" | grep -v grep | wc -l` -gt 0 ];then
echo $FORMATER_LINE
echo " ${ECHO_PREFIX}"
parseDuringTime "${ADMIN_SCRIPT_NAME}"
_cliListen
echo $FORMATER_LINE
echo " ${ECHO_PREFIX}"
if [ $ADMIN_CLI_IS_RUNNING -eq 0 ];then
echo -e " ${ECHO_PREFIX} Active: \033[31minactive (dead)\033[0m \033[33m${ADMIN_SCRIPT_NAME}\033[0m since Unknow"
else
_parseDuringTime "${ADMIN_SCRIPT_NAME}"
if [ $? -gt 0 ] 2> /dev/null;then
# 全局获取函数返回的字符串
echo -e " ${ECHO_PREFIX} \033[32mactive (running)\033[0m \033[33m${ADMIN_SCRIPT_NAME}\033[0m since ${parseTimeResultStr}"
echo -e " ${ECHO_PREFIX} Active: \033[32mactive (running)\033[0m \033[33m${ADMIN_SCRIPT_NAME}\033[0m since ${parseTimeResultStr}"
#sleep 1
else
echo -e " ${ECHO_PREFIX} \033[32mactive (running)\033[0m \033[33m${ADMIN_SCRIPT_NAME}\033[0m since Unknow"
echo -e " ${ECHO_PREFIX} Active: \033[32mactive (running)\033[0m \033[33m${ADMIN_SCRIPT_NAME}\033[0m since Unknow"
fi
fi

parseDuringTime "${BD_SCRIPT_NAME}"
if [ $BD_CLI_IS_RUNNING -eq 0 ];then
echo -e " ${ECHO_PREFIX} Active: \033[31minactive (dead)\033[0m \033[33m${BD_SCRIPT_NAME}\033[0m since Unknow"
else
_parseDuringTime "${BD_SCRIPT_NAME}"
if [ $? -gt 0 ] 2> /dev/null;then
# 全局获取函数返回的字符串
echo -e " ${ECHO_PREFIX} \033[32mactive (running)\033[0m \033[33m${BD_SCRIPT_NAME}\033[0m since ${parseTimeResultStr}"
echo -e " ${ECHO_PREFIX} Active: \033[32mactive (running)\033[0m \033[33m${BD_SCRIPT_NAME}\033[0m since ${parseTimeResultStr}"
#sleep 1
else
echo -e " ${ECHO_PREFIX} \033[32mactive (running)\033[0m \033[33m${BD_SCRIPT_NAME}\033[0m since Unknow"
echo -e " ${ECHO_PREFIX} Active: \033[32mactive (running)\033[0m \033[33m${BD_SCRIPT_NAME}\033[0m since Unknow"
fi
echo " ${ECHO_PREFIX}"
echo $FORMATER_LINE
fi
echo " ${ECHO_PREFIX}"
echo $FORMATER_LINE
if [ $ADMIN_CLI_IS_RUNNING -gt 0 -o $BD_CLI_IS_RUNNING -gt 0 ];then

ps -ef | grep "$APP_KEYWORDS" | grep -v grep
sleep 1
echo $FORMATER_LINE
netstat -tlpan | grep "$APP_KEYWORDS" | grep -v grep
else
echo -e " ${ECHO_PREFIX} \033[33m${ADMIN_SCRIPT_NAME}\033[0m is \033[31moffline\033[0m"
echo -e " ${ECHO_PREFIX} \033[33m${BD_SCRIPT_NAME}\033[0m is \033[31moffline\033[0m"
fi
}

Expand Down Expand Up @@ -244,4 +259,4 @@ case $COMMAND in
cli;
exit 1;
;;
esac
esac

0 comments on commit 7cc0374

Please sign in to comment.