Path :
/bin/ |
|
Current < : //bin/tar |
#!/bin/bash
PROG=`basename $0`
CAPSPROG=`echo "$PROG" | tr "a-z" "A-Z"`
MYPATH=`dirname $0`
HOST=`/bin/hostname -s`
MYID=`id -u`
ME=`/usr/bin/whoami`
SFX=".orig"
REALPATH=$MYPATH/$PROG$SFX
PREFIX=`/bin/date "+%Y-%m-%d %R:%S"`
INFOPFX="host[$HOST] user[$ME/$MYID] ip[$REMOTE_ADDR] pwd[$PWD]"
case $HOST in
*custutil*)
MAXPROC=5
;;
*)
MAXPROC=2
;;
esac
# Command to seek out procs
PROCCNT=0
for p in `ls -ld /proc/* | egrep -e "$ME|$MYID" | awk '{ print $NF }'`
do
if [ -f "$p/comm" ]; then
CMD=$(<$p/comm)
if [ "$CMD" = "tar" -o "$CMD" = "tar.orig" ]; then
PROCCNT=$(( $PROCCNT + 1 ))
fi
fi
done
if [ $MYID -gt 0 -a $PROCCNT -gt $MAXPROC ]; then
/usr/bin/logger -t "$CAPSPROG" -p user.warn -- "$PREFIX $INFOPFX cnt[$PROCCNT] Too many $PROG commands running for user"
exit
fi
/usr/bin/logger -t "$CAPSPROG" -p user.warn -- "$PREFIX $INFOPFX cnt[$PROCCNT] $PROG $@"
exec "$REALPATH" "$@"