PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /bin/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //bin/pcp |
#! /bin/sh # # Copyright (c) 2013-2015 Red Hat. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # . $PCP_DIR/etc/pcp.env sts=2 tmp=`mktemp -d "$PCP_TMPFILE_DIR/pcp.XXXXXXXXX"` || exit 1 trap "rm -rf $tmp; exit \$sts" 0 1 2 3 15 progname=`basename $0` for var in Aflag aflag Dflag gflag hflag Lflag nflag Oflag pflag Sflag sflag Tflag tflag Zflag zflag do eval $var=false done # usage spec for pmgetopt, note posix flag (commands mean no reordering) cat > $tmp/usage << EOF # getopts: A:a:D:gh:Ln:O:p:PS:s:T:t:VZ:z? # Usage: [options] [[...] command [...]] Summary Options: --archive --host --origin --namespace -P,--pmie display pmie evaluation statistics --help Command Options: --align --archive --debug --guimode --host --local-PMDA --namespace --origin --guiport --start --samples --finish --interval --timezone --hostzone --version # end EOF _usage() { [ ! -z "$@" ] && echo "$@" 1>&2 ls $PCP_BINADM_DIR/pcp-* $HOME/.pcp/bin/pcp-* 2>/dev/null | \ while read command do [ -x "$command" ] || continue basename "$command" | sed -e 's/^pcp-//g' >> $tmp/cmds done if [ ! -z "$@" -a -s "$tmp/cmds" ] then echo >> $tmp/usage echo "Please install pcp system tools package" else echo >> $tmp/usage ( $PCP_ECHO_PROG $PCP_ECHO_N "Available Commands: ""$PCP_ECHO_C" \ && sort -u < $tmp/cmds ) | _fmt >> $tmp/usage $PCP_BINADM_DIR/pmgetopt --progname=$progname --usage --config=$tmp/usage fi sts=1 exit } _fmt() { if [ "$PCP_PLATFORM" = netbsd ] then fmt -g 64 -m 65 else fmt -w 64 fi \ | tr -d '\r' | tr -s '\n' | $PCP_AWK_PROG ' NR > 1 { printf " %s\n", $0; next } { print }' } # if there is no realpath(1) installed, this is a cheap knock-off # that does just what we need namely, # - replace leading ./ with cwd-of-./ # - replace leading ../ with cwd-of-../ # - leave alone if leading / # - prefix with cwd-of-./ # _cheap_and_nasty_path() { if [ "$#" -ne 1 -o -z "$1" ] then echo "_cheap_and_nasty_path: Error: expect 1 non-empty argument, got $#: $*" sts=1 exit fi case "$1" in ./*) echo "$1" | sed -e "s@^\.@`pwd`@" ;; ../*) echo "$1" | sed -e "s@^\.\.@`cd ..; pwd`@" ;; /*) echo "$1" ;; *) echo "$1" | sed -e "s@^@`pwd`/@" ;; esac } opts="" ARGS=`$PCP_BINADM_DIR/pmgetopt --progname=$progname --config=$tmp/usage -- "$@"` [ $? != 0 ] && exit 1 eval set -- "$ARGS" while [ $# -gt 0 ] do case "$1" in -A) Aflag=true pcp_align_time="$2" shift ;; -a) aflag=true pcp_archive="$2" shift ;; -D) Dflag=true pcp_debug="$2" shift ;; -g) gflag=true ;; -h) hflag=true pcp_host="$2" shift ;; -L) Lflag=true ;; -n) nflag=true pcp_namespace="$2" shift ;; -O) Oflag=true pcp_origin_time="$2" shift ;; -P) opts="$opts -P" ;; -p) pflag=true pcp_guiport="$2" shift ;; -S) Sflag=true pcp_start_time="$2" shift ;; -s) sflag=true pcp_samples="$2" shift ;; -T) Tflag=true pcp_finish_time="$2" shift ;; -t) tflag=true pcp_interval="$2" shift ;; -Z) Zflag=true pcp_timezone="$2" shift ;; -z) zflag=true ;; -V) $PCP_BINADM_DIR/pmconfig -L pcp_version | sed -e 's/[_=]/ /g' sts=0 exit ;; -\?) _usage "" ;; --) # end of options, start of arguments shift break ;; esac shift # finished with this option now, next! done # Note - in all cases, pmGetOptions(3) will discover all of the standard # arguments we've set above, automagically. # if [ $# -eq 0 ] then # default to generating a PCP collector installation summmary command="summary" else # seek out matching command and execute it with remaining arguments command=$1 shift fi if [ -x "$HOME/.pcp/bin/pcp-$command" ] then command="$HOME/.pcp/bin/pcp-$command" elif [ -x "$PCP_BINADM_DIR/pcp-$command" ] then command="$PCP_BINADM_DIR/pcp-$command" elif [ -x "$command" ] then if which realpath >/dev/null 2>&1 then command=`realpath "$command"` else command=`_cheap_and_nasty_path "$command"` fi else _usage "Cannot find a pcp-$command command to execute" fi $Aflag && export PCP_ALIGN_TIME="$pcp_align_time" $aflag && export PCP_ARCHIVE="$pcp_archive" $Dflag && export PCP_DEBUG="$pcp_debug" $gflag && export PCP_GUIMODE=true $hflag && export PCP_HOST="$pcp_host" $Lflag && export PCP_LOCALMODE=true $nflag && export PCP_NAMESPACE="$pcp_namespace" $Oflag && export PCP_ORIGIN_TIME="$pcp_origin_time" $pflag && export PCP_GUIPORT="$pcp_guiport" $Sflag && export PCP_START_TIME="$pcp_start_time" $sflag && export PCP_SAMPLES="$pcp_samples" $Tflag && export PCP_FINISH_TIME="$pcp_finish_time" $tflag && export PCP_INTERVAL="$pcp_interval" $Zflag && export PCP_TIMEZONE="$pcp_timezone" $zflag && export PCP_HOSTZONE=true rm -rf $tmp # cleanup now, no trap handler post-exec exec $command $opts "$@"