<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PEACE

      和平

      管理

       

      Apache Tomcat Manager 1.0

      Abbr. atm


      Suitable for:
          Apache Tomcat 7.0.47


      89676A512AD625916857EE981AA506E8  atm
      FB340E537105341CFACDDD700F02FA7B  atm.ini

      默認會排序,可以通過執(zhí)行多條命令來抑制,如:
      atm -m 2; atm -m 3; atm -m 1

      atm.ini

      1 # PRG_HOME_DIRS - program home directories, separated by ":"
      2 PRG_HOME_DIRS=/opt/data/devel/apache-tomcat-7.0.47/p54321:/opt/data/devel/apache-tomcat-7.0.47/p6666:/opt/data/devel/apache-tomcat-7.0.47/p80
      3 #EOF

      atm

        1 #!/bin/sh
        2 
        3 # program home directories
        4 phd_arr=()
        5 
        6 echo_n(){
        7     echo -e "\033[30;32m$*\033[0m"
        8 }
        9 
       10 echo_e(){
       11     echo -e "\033[30;35m$*\033[0m"
       12 }
       13 
       14 show_usage(){
       15     echo
       16     echo_n "Apache Tomcat Manager 1.0"
       17     echo_n "Report bugs to <614616185@qq.com>."
       18     echo
       19     echo "Usage: ${0##*/} [OPTION]..."
       20     printf "\t%-8s%s\n" "-g" "Generate optimal 'PRG_HOME_DIRS'."
       21     printf "\t%-8s%s\n" "-l" "List program home directories."
       22     printf "\t%-8s%s\n" "-s" "Query program state."
       23     printf "\t\t%-8s%s\n" "-h" "State is 'Halted'."
       24     printf "\t\t%-8s%s\n" "-r" "State is 'Running'."
       25     printf "\t\t%-8s%s\n" "-a" "State is 'Abnormal'."
       26     printf "\t\t%-8s%s\n" "-ra" "State is 'Running' or 'Abnormal'."
       27     printf "\t%-8s%s\n" "-d" "Diagnosing program state."
       28     printf "\t%-8s%s\n" "-r" "Run program."
       29     printf "\t%-8s%s\n" "-h" "Halt program."
       30     printf "\t%-8s%s\n" "-k" "Kill program."
       31     printf "\t%-8s%s\n" "-fk" "Force kill program."
       32     printf "\t%-8s%s\n" "-m" "Monitoring log (Ctrl+\)."
       33     printf "\t%-8s%s\n" "-c" "Clean up the cache and garbage."
       34     printf "\t%-8s%s\n" "-R" "Rerun program."
       35     printf "\t%-8s%s\n" "-D" "Deploy web application archive."
       36     echo
       37 }
       38 
       39 init_prg_col_width(){
       40     chk_widest "${phd_arr[*]}"
       41     PHD_COL_W=$WIDEST
       42 }
       43 
       44 chk_widest(){
       45     local i= max=0 arr=($1)
       46     for((i=0;i<${#arr[*]};i++)); do
       47         if [ ${#arr[$i]} -gt $max ]; then
       48             max=${#arr[$i]}
       49         fi
       50     done
       51     WIDEST=$max
       52 }
       53 
       54 is_prg_id(){
       55     if (( ${#phd_arr[*]} > 0 )) && (( $1 >= 0 )) && (( $1 < ${#phd_arr[*]} )); then
       56         echo true
       57     else
       58         echo false
       59     fi
       60 }
       61 
       62 chk_process(){
       63     unset PID_ARR
       64     PID_ARR=()
       65     PID_SIZE=0
       66     local proc_part=${phd_arr[$1]}
       67     if [ ! -z "$proc_part" ]; then
       68         local search_result=`ps -ef | grep "$proc_part" | grep -v "grep $proc_part"`
       69         PID_ARR=(`echo "$search_result" | awk '{ print $2 }'`)
       70         PID_SIZE=${#PID_ARR[*]}
       71         return 1
       72     fi
       73 }
       74 
       75 chk_status(){
       76     local rtn=0 arr=("Not running" "OK" "Abnormal")
       77     chk_process $1
       78     rtn=$PID_SIZE
       79     if [ $PID_SIZE -gt 1 ]; then
       80         rtn=2
       81     fi
       82     STATE_LABEL=${arr[$rtn]}
       83     return $rtn
       84 }
       85 
       86 print_header(){
       87     printf "%4s\t%11s\t%${PHD_COL_W}s\n" "ID" "State" "Program Home Directory"
       88 }
       89 
       90 show_status(){
       91     if [ -z "$1" ]||`is_contains "$1" "-h -r -a -ra"`; then
       92         local i= t_body=
       93         for((i=0;i<${#phd_arr[*]};i++)); do
       94             chk_status $i
       95             local rtn=$?
       96             if [ -z "$1" ] || [[ "$1" = "-h" && (( $rtn == 0 )) ]] || [[ "$1" = "-r" && (( $rtn == 1 )) ]] || [[ "$1" = "-a" && (( $rtn == 2 )) ]] || [[ "$1" = "-ra" && (( $rtn != 0 )) ]]; then
       97                 local t_tr=`printf "%4s\t%11s\t%-${PHD_COL_W}s\n" "$(expr $i + 1)" "$STATE_LABEL" "${phd_arr[$i]}"`
       98                 if [ -z "$t_body" ]; then
       99                     t_body="$t_tr\n"
      100                 else
      101                     t_body="$t_body$t_tr\n"
      102                 fi
      103             fi
      104         done
      105         if [ -z "$t_body" ]; then
      106             echo_e No data.
      107         else
      108             print_header
      109             echo -e "$t_body"
      110         fi
      111     else
      112         show_usage
      113         exit
      114     fi
      115 }
      116 
      117 exec_prg(){
      118     #for p in "$@"; do
      119     #    echo [$p]
      120     #done
      121     local state_filter=
      122     if `is_contains "$1" "-r -c"`; then
      123         state_filter="-h"
      124     elif `is_contains "$1" "-h -m"`; then
      125         state_filter="-r"
      126     elif `is_contains "$1" "-d -k -fk"`; then
      127         state_filter="-ra"
      128     fi
      129     if [ $# -eq 1 ]; then
      130         local result="`show_status $state_filter`"
      131         echo "$result"
      132         if [ `echo "$result" | wc -l` -gt 1 ]; then
      133             echo -e "Examples:\n\t${0##*/} $1 8 4 2 1..."
      134         fi
      135     else
      136         local opt1=$1 tmp_str=
      137         while [ $# -gt 1 ]; do
      138             local tpi=`to_positive_integer "$2"`
      139             if [ ! -z "$tpi" ]&&[ $tpi -le ${#phd_arr[*]} ]; then
      140                 if [ -z "$tmp_str" ]; then
      141                     tmp_str=$tpi
      142                 else
      143                     tmp_str="$tmp_str $tpi"
      144                 fi
      145             fi
      146             shift
      147         done
      148         local id= idx= executed_idxs= diagnose_header=true
      149         for id in `echo -e "${tmp_str// /\\n}" | sort -nu`; do
      150             idx=$(expr $id - 1)
      151             if `is_prg_id $idx`; then
      152                 chk_status $idx
      153                 local rtn=$?
      154                 if [ "$opt1" = "-R" ] || ( `is_contains "$opt1" "-c -r"` && (( $rtn == 0 )) ) || ( `is_contains "$opt1" "-h -m"` && (( $rtn == 1 )) ) || ( `is_contains "$opt1" "-d -k -fk"` && (( $rtn != 0 )) ); then
      155                     local cmd=
      156                     local phd=${phd_arr[$idx]}
      157                     if [ "$opt1" = "-r" ]; then
      158                         echo_n "Run ($id) '$phd'."
      159                         cmd="$phd/bin/startup.sh"
      160                     elif [ "$opt1" = "-h" ]; then
      161                         echo_n "Halt ($id) '$phd'."
      162                         cmd="$phd/bin/shutdown.sh"
      163                     elif [ "$opt1" = "-m" ]; then
      164                         echo_n "Monitoring ($id) '$phd'."
      165                         pushd $phd/logs >/dev/null 2>&1
      166                         tail -f catalina.out
      167                         popd >/dev/null 2>&1
      168                     elif [ "$opt1" = "-c" ]; then
      169                         echo_n "Clean up ($id) '$phd'."
      170                         echo -e "\t--> logs"
      171                         pushd $phd/logs >/dev/null 2>&1
      172                         rm -rfv *
      173                         popd >/dev/null 2>&1
      174                         echo -e "\t--> work"
      175                         pushd $phd/work >/dev/null 2>&1
      176                         rm -rfv *
      177                         popd >/dev/null 2>&1
      178                     elif [ "$opt1" = "-R" ]; then
      179                         echo_n "Rerun ($id) '$phd'."
      180                         if [ $rtn -eq 1 ]; then
      181                             echo_n "Shutting down..."
      182                             "$phd/bin/shutdown.sh" >/dev/null 2>&1
      183                             sleep 1
      184                         fi
      185                         chk_status $idx
      186                         if [ $? -eq 1 ]; then
      187                             echo_n "Kill..."
      188                             kill ${PID_ARR[*]} >/dev/null 2>&1
      189                             sleep 1
      190                         fi
      191                         chk_status $idx
      192                         if [ $? -ne 0 ]; then
      193                             echo_n "Force kill..."
      194                             kill -9 ${PID_ARR[*]} >/dev/null 2>&1
      195                             sleep 1
      196                         fi
      197                         chk_status $idx
      198                         if [ $? -eq 0 ]; then
      199                             echo_n "Starting..."
      200                             cmd="$phd/bin/startup.sh"
      201                         else
      202                             echo_e "Unable to end process."
      203                         fi
      204                     elif [ "$opt1" = "-d" ]; then
      205                         if $diagnose_header; then
      206                             printf "%4s\t%5s\t%11s\t%${PHD_COL_W}s\n" "ID" "PID" "State" "Program Home Directory"
      207                             diagnose_header=false
      208                         fi
      209                         local d_pid=
      210                         for d_pid in ${PID_ARR[*]}; do
      211                             printf "%4s\t%5s\t%11s\t%-${PHD_COL_W}s\n" "$id" "$d_pid" "$STATE_LABEL" "$phd"
      212                         done
      213                     elif [ "$opt1" = "-k" ]; then
      214                         echo_n "Kill ($id) '$phd'."
      215                         cmd="kill ${PID_ARR[*]}"
      216                     elif [ "$opt1" = "-fk" ]; then
      217                         echo_n "Force kill ($id) '$phd'."
      218                         cmd="kill -9 ${PID_ARR[*]}"
      219                     fi
      220                     if [ ! -z "$cmd" ]; then
      221                         `$cmd >/dev/null 2>&1`
      222                     fi
      223                     if [ -z "$executed_idxs" ]; then
      224                         executed_idxs=$idx
      225                     else
      226                         executed_idxs="$executed_idxs $idx"
      227                     fi
      228                 fi
      229             fi
      230         done
      231         if [ ! -z "$executed_idxs" ]; then
      232             if `is_contains "$opt1" "-r -h -k -fk -R"`; then
      233                 print_header
      234                 local idx=
      235                 for idx in $executed_idxs; do
      236                     chk_status $idx
      237                     printf "%4s\t%11s\t%-${PHD_COL_W}s\n" "$(expr $idx + 1)" "$STATE_LABEL" "${phd_arr[$idx]}"
      238                 done
      239                 echo_n "The command completed successfully."
      240             fi
      241         else
      242             echo_e Nothing to do.
      243         fi
      244     fi
      245 }
      246 
      247 is_contains(){
      248     local ps=
      249     for ps in $2; do
      250         if [ "$ps" = "$1" ]; then
      251             echo true
      252             return 1
      253         fi
      254     done
      255     echo false
      256 }
      257 
      258 chk_positive_integer(){
      259     POS_INT=
      260     local nstr=`trim "$1"`
      261     echo "$nstr" | grep "[^0-9]" >/dev/null 2>&1
      262     if [ $? -eq 1 ]&&[ ! -z "$nstr" ]; then
      263         local t=$(expr $nstr + 0)
      264         if (( $t > 0 )); then
      265             POS_INT=$t
      266             return 1
      267         fi
      268     fi
      269 }
      270 
      271 to_positive_integer(){
      272     chk_positive_integer "$1"
      273     echo $POS_INT
      274 }
      275 
      276 trim(){
      277     echo $1
      278 }
      279 
      280 one_slash(){
      281     local src="$1"
      282     while [[ "$src" == *//* ]]; do
      283         local slash1="/" slash2="http://"
      284         src="${src//$slash2/$slash1}"
      285     done
      286     echo $src
      287 }
      288 
      289 to_canonical_path(){
      290     local path=`trim "$1"`
      291     if [ ! -z "$path" ]&&[ -e "$path" ]; then
      292         local result=
      293         if [ -d "$path" ]; then
      294             result=`cd "$path"; pwd`
      295         elif [ -f "$path" ]; then
      296             local directory=`dirname "$path"`
      297             directory=`cd "$directory"; pwd`
      298             local filename=`basename "$path"`
      299             result="$directory/$filename"
      300         fi
      301         result=`one_slash "$result"`
      302         echo $result
      303     fi
      304 }
      305 
      306 main(){
      307     # Show usage
      308     if [ -z "$1" ]; then
      309         show_usage
      310         exit
      311     fi
      312 
      313     # Read configuration file
      314     local line=
      315     while read line; do
      316         eval "$line"
      317     done < ${0%%.*}.ini
      318 
      319     # Filling phd_arr
      320     local phd= index=0
      321     for phd in `echo -e "${PRG_HOME_DIRS//:/\\n}" | sort -u`; do
      322         phd=`to_canonical_path "$phd"`
      323         if [ ! -z "$phd" ]&&[ -x "$phd/bin/startup.sh" ]&&[ -x "$phd/bin/shutdown.sh" ]&&[ -d "$phd/webapps" ]&&[ -d "$phd/work" ]&&[ -d "$phd/logs" ]; then
      324             phd_arr[$index]="$phd"
      325             let "index+=1"
      326         fi
      327     done
      328     local tmp_str="${phd_arr[*]}"
      329     tmp_str=`echo -e "${tmp_str// /\\n}" | sort -u`
      330     unset phd_arr
      331     phd_arr=($tmp_str)
      332 
      333     # Check the quantity
      334     local max_phds=99
      335     if [ ${#phd_arr[*]} -gt $max_phds ]; then
      336         echo_e "Error: 'PRG_HOME_DIRS' exceeds $max_phds."
      337         exit
      338     fi
      339 
      340     # Initialize the maximum width of the column
      341     init_prg_col_width
      342 
      343     # Parameter matching
      344     if [ "$1" == "-g" ]; then
      345         local tmp_str="${phd_arr[*]}"
      346         echo -e "PRG_HOME_DIRS=${tmp_str// /:}"
      347     elif [ "$1" == "-l" ]; then
      348         if [ ${#phd_arr[*]} -gt 0 ]; then
      349             printf "%4s\t%${PHD_COL_W}s\n" "ID" "Program Home Directory"
      350             local i=
      351             for((i=0;i<${#phd_arr[*]};i++)); do
      352                 printf "%4d\t%-${PHD_COL_W}s\n" "$(expr $i + 1)" "${phd_arr[$i]}"
      353             done
      354         else
      355             echo_e No data.
      356         fi
      357     elif [ "$1" == "-s" ]; then
      358         show_status $2
      359     elif `is_contains "$1" "-d -r -h -k -fk -m -c -R"`; then
      360         exec_prg "$@"
      361     elif [ "$1" = "-D" ]; then
      362         local id=`to_positive_integer "$2"`
      363         if [ ! -z "$id" ]&&[ $id -le ${#phd_arr[*]} ]; then
      364             local idx=$(expr $id - 1)
      365             local tmp_str=
      366             local phd=${phd_arr[$idx]}
      367             while [ $# -gt 2 ]; do
      368                 echo "Checking WAR file. '$3'"
      369                 local war_file=`trim "$3"`
      370                 local is_ok=false
      371                 if [ -z "$war_file" ]; then
      372                     echo "Cause: Empty string."
      373                 elif [[ "$war_file" == *" "* ]]; then
      374                     echo "Cause: Path contains spaces."
      375                 elif [ ! -f "$war_file" ]; then
      376                     echo "Cause: No such file."
      377                 else
      378                     local suffix="${war_file##*.}"
      379                     if [ "$suffix" != "war" ]; then
      380                         echo "Cause: File suffix is not '.war'."
      381                     else
      382                         local name=`basename "$war_file" .war`
      383                         if [ "$name" = "$war_file" ]; then
      384                             echo "Cause: Named 'war/.war'."
      385                         elif `is_contains "$war_file" "..war ...war"`; then
      386                             echo "Cause: Named '..war/...war'."
      387                         else
      388                             local filepath=`to_canonical_path "$war_file"`
      389                             unzip -t "$filepath" >/dev/null 2>&1
      390                             if [ $? != 0 ]; then
      391                                 echo "Cause: Invalid WAR file."
      392                             else
      393                                 is_ok=true
      394                                 if [ -z "$tmp_str" ]; then
      395                                     tmp_str="$filepath"
      396                                 else
      397                                     tmp_str="$tmp_str $filepath"
      398                                 fi
      399                             fi
      400                         fi
      401                     fi
      402                 fi
      403                 if $is_ok; then
      404                     echo_n Passed.
      405                 else
      406                     echo_e Failed.
      407                 fi
      408                 shift
      409             done
      410             if [ ! -z "$tmp_str" ]; then
      411                 local deployed=false dp_count=0
      412                 echo_n "Deploying ($id) '$phd'."
      413                 chk_status $idx
      414                 if [ $? -eq 1 ]; then
      415                     echo_n "Shutting down..."
      416                     "$phd/bin/shutdown.sh" >/dev/null 2>&1
      417                     sleep 1
      418                 fi
      419                 chk_status $idx
      420                 if [ $? -eq 1 ]; then
      421                     echo_n "Kill..."
      422                     kill ${PID_ARR[*]} >/dev/null 2>&1
      423                     sleep 1
      424                 fi
      425                 chk_status $idx
      426                 if [ $? -ne 0 ]; then
      427                     echo_n "Force kill..."
      428                     kill -9 ${PID_ARR[*]} >/dev/null 2>&1
      429                     sleep 1
      430                 fi
      431                 chk_status $idx
      432                 if [ $? -eq 0 ]; then
      433                     local wfp=
      434                     for wfp in `echo -e "${tmp_str// /\\n}" | sort -u`; do
      435                         local prj_name=`basename "$wfp" .war`
      436                         echo_n "Removing file..."
      437                         rm -rfv "$phd/webapps/$prj_name"
      438                         # cp: ... are the same file
      439                         echo_n "Copying file..."
      440                         cp -v "$wfp" "$phd/webapps"
      441                         let "dp_count+=1"
      442                     done
      443                     if [ $dp_count != 0 ]; then
      444                         echo_n "Starting..."
      445                         "$phd/bin/startup.sh" >/dev/null 2>&1
      446                         deployed=true
      447                     fi
      448                 else
      449                     echo_e "Unable to end process."
      450                 fi
      451                 if $deployed; then
      452                     echo Deployed projects: $dp_count
      453                     print_header
      454                     chk_status $idx
      455                     printf "%4s\t%11s\t%-${PHD_COL_W}s\n" "$(expr $idx + 1)" "$STATE_LABEL" "${phd_arr[$idx]}"
      456                     echo_n "Project deployment has been completed."
      457                 else
      458                     echo_e "Project deployment is not completed."
      459                 fi
      460             else
      461                 echo_e No files available.
      462             fi
      463         else
      464             local result="`show_status`"
      465             echo "$result"
      466             if [ `echo "$result" | wc -l` -gt 1 ]; then
      467                 echo -e "Examples:\n\t${0##*/} $1 1 mywebapp1.war mywebapp2.war..."
      468             fi
      469         fi
      470     else
      471         show_usage
      472     fi
      473 }
      474 
      475 phd_arr=()
      476 main "$@"
      477 unset phd_arr
      478 #declare
      479 
      480 :<<EOF
      481 TODO: 
      482 is_positive_number()
      483 is_positive_integer()
      484 is_negative_integer()
      485 is_negative_number()
      486 is_numeric()
      487 is_integer()
      488 # greater than 0
      489 is_gt0()
      490 to_numeric()
      491 to_integer()
      492 EOF

      附件1

      posted on 2019-07-20 23:58  EG2CN  閱讀(322)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 欧美成人精品手机在线| 久久精品国产99国产精品| 亚洲深夜精品在线观看| 天堂网av最新版在线看| 久久夜色精品亚洲国产av| 国产97人人超碰CAO蜜芽PROM| 深夜精品免费在线观看| 亚洲成av人片天堂网无码| 成人特黄A级毛片免费视频| 女厕偷窥一区二区三区| 亚洲av乱码久久亚洲精品| 国产综合精品一区二区三区| 极品蜜臀黄色在线观看| 极品少妇无套内射视频| 中国少妇人妻xxxxx| 亚洲日韩图片专区第1页| 国产一区二区在线有码| 亚洲av无码片在线播放| 国产一区二区波多野结衣| 亚洲欧美日韩国产手机在线| 东京热加勒比无码少妇| 激情视频乱一区二区三区| 少妇被粗大的猛烈进出69影院一| 免费观看欧美猛交视频黑人| 亚洲熟妇精品一区二区| 自拍视频在线观看成人| 在线观看成人永久免费网站 | 国产精品成人久久电影| 国产a在视频线精品视频下载| 99九九视频高清在线| 黄骅市| 日本一本无道码日韩精品| 国产av一区二区不卡| 国精品无码一区二区三区左线| 伊人成色综合人夜夜久久| 日本高清视频网站www| 亚洲AV日韩AV永久无码下载| 长乐市| 97精品国产91久久久久久久| V一区无码内射国产| 亚洲欧洲日韩精品在线|