⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connect_type_log.sh.shtml

📁 管理online的shell程序
💻 SHTML
字号:
<HTML>
<HEAD>
<TITLE>PRS Technologies, Inc. - script: connect_type_log.sh</TITLE>
<META NAME="Description" content="PRS Technologies Inc. - Count and log by type of Informix connection">
<STYLE TYPE="text/css"><!--A.CLASS1 {background-color: #000066;  color: white;  letter-spacing: 0.2ex;  font-size: 14pt;  text-decoration: none;}A:hover.CLASS1 {  background-color: #ffffcc;  color: black;}--></STYLE>
<SCRIPT>defaultStatus = "PRS Technologies Inc. - script: connect_type_log.sh";</SCRIPT>
</HEAD>

</CENTER><CENTER><TABLE border=0 cellspacing=0 cellpadding=0 width=90%><TR><TD>      <CENTER>      <IMG SRC="../gif/prs_tech_top_of_page1.gif" border=0 align=center alt="PRS Technologies Home Page">      </CENTER></TD></TR><TR><TD>      <CENTER>      <TABLE border=2 cellspacing=0 cellpadding=0>      <TR>      <td><A HREF="../index.shtml"          CLASS=CLASS1>&#160;Home&#160;</A>      <td><A HREF="../resume.shtml"         CLASS=CLASS1>&#160;Associates&#160;</A>      <td><A HREF="../references.shtml"     CLASS=CLASS1>&#160;References&#160;</A>      <td><A HREF="../downloads.shtml"      CLASS=CLASS1>&#160;Downloads&#160;</A>      <td><A HREF="../elite1.shtml"         CLASS=CLASS1>&#160;Elite&#160;</A>      <td><A HREF="../links.shtml"          CLASS=CLASS1>&#160;Links&#160;</A>      <td><A HREF="../contacts.shtml"       CLASS=CLASS1>&#160;Contact&nbspUs&#160;</A>      </TR>      </TABLE>      </CENTER></TD></TR></TABLE></CENTER>

<BR>

<CENTER>
<TABLE border=0 cellpadding=4 bgcolor=e7e7ce><tr><td>
<font color=#000066 size=+2><B>
connect_type_log.sh
</B></font>
</td></tr></table>
</CENTER>

<XMP>

################################################################################
#!/usr/bin/ksh
################################################################################
#
#   Module:         connect_type_log.sh
#   Author:         Peter R. Schmidt
#   Description:    Count and log by type of connection
#
#	Arguments
#
#	Argment:	-v	Interactive - display to screen - no e-mail
#
#   Change Log
#
#     Date    Name              Description.................
#   09/19/01  Peter R. Schmidt  Start Program 
#
################################################################################

FG=false

for ARG
do
	case "$ARG" in
		-v)	FG=true;;
	esac
done

. /elite/custom/run.elite

EMAIL_LIST="sysadmin"

LOGDIR=/elite/work/logs
LOGFILE=$LOGDIR/connect_type.log

if [ ! -d $LOGDIR ]; then
	echo "Error: connect_type_log.sh: Directory: $LOGDIR does not exist!"
	exit 1
fi

#-------------------------------------------------------------------------------

SHM=`onstat -c | egrep -i NETTYPE | grep -i ipcshm |
awk '
{
        split ($2,a,",")
	limit=a[2] * a[3]

	print limit
}
'`

TCP=`onstat -c | egrep -i NETTYPE | egrep -i "soctcp|tlitcp" |
awk '
{
        split ($2,a,",")
	limit=a[2] * a[3]

	print limit
}
'`

#-------------------------------------------------------------------------------

if [ "x$SHM" = "x" ]; then
	echo "Error: connect_type_log.sh: unable to compute SHM limit"
	exit 1
fi

if [ "x$TCP" = "x" ]; then
	echo "Error: connect_type_log.sh: unable to compute TCP limit"
	exit 1
fi

#-------------------------------------------------------------------------------

UDATE=`date +%m/%d/%y`
UTIME=`date +%H:%M:%S`

onstat -g ntu | egrep "ipcshm|soctcp|tlitcp" |
awk '

{
	NETSCB=$1
	CTYPE=$2
	THREAD=$3
	NAME=$4
	SID=$5
	FD=$6
	POLL=$7
	READS=$8
	WRITES=$9
	QNRM=$10
	QEXP=$11

	## printf "Debug: CTYPE=%s\n",CTYPE

	if (CTYPE == "ipcshm") {
		cnt_shm++
	} else {
		if (CTYPE == "soctcp" || CTYPE == "tlitcp" ) {
			cnt_tcp++
		} else {
			cnt_oth++
		}
	}

	cnt_tot++
}

END {

	msg1=""
	msg2=""
	msg3=""

	if (cnt_shm > shm_limit) {
		msg1="WARNING: shm connection limit exceeded"
	}

	if (cnt_tcp > tcp_limit) {
		msg2="WARNING: tcp connection limit exceeded"
	}

	msg3=msg1 " " msg2

	printf "%s %s total: %d, shm %d (limit %d), tcp=%d (limit %d), other=%d %s\n",
		udate,utime,cnt_tot,cnt_shm,shm_limit,cnt_tcp,tcp_limit,cnt_oth,msg3
}

' shm_limit=$SHM tcp_limit=$TCP udate=$UDATE utime=$UTIME >> $LOGFILE


if [ $FG = true ]; then
	tail -1 $LOGFILE
else
	CNT_WARNING=`tail -1 $LOGFILE | grep -c WARNING`

	if [ $CNT_WARNING != 0 ]; then
   	tail -1 $LOGFILE | mailx -s "Warning: Informix connection limit exceeded" $EMAIL_LIST
	fi
fi

################################################################################
</XMP>

<CENTER><TABLE border=2 cellspacing=0 cellpadding=0><TR><td><A HREF="../index.shtml"        CLASS=CLASS1>&#160;Home&#160;</A><td><A HREF="../resume.shtml"       CLASS=CLASS1>&#160;Associates&#160;</A><td><A HREF="../references.shtml"   CLASS=CLASS1>&#160;References&#160;</A><td><A HREF="../downloads.shtml"    CLASS=CLASS1>&#160;Downloads&#160;</A><td><A HREF="../elite1.shtml"       CLASS=CLASS1>&#160;Elite&#160;</A><td><A HREF="../links.shtml"        CLASS=CLASS1>&#160;Links&#160;</A><td><A HREF="../contacts.shtml"     CLASS=CLASS1>&#160;Contact&nbspUs&#160;</A></TR></TABLE></CENTER>

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -