OpenSolaris_b135/cmd/lp/model/alert.proto

#ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.5	*/
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
#	Pardon the bizarre variable names, but we must not
#	conflict with any variables that the user gives us.
#

-ENVIRONMENT-

cd -PWD-

if [ "`ulimit`" -gt -ULIMIT- ]
then
	ulimit -ULIMIT-
fi

umask -UMASK-

AlErT () {
	2>&1 (
-CMD-
	) <$1 1>${TmPsTdErR} || return 1
	return 0
}

TmPsTdErR=${TMPDIR:-/usr/tmp}/`/bin/uname -n`$$
trap 'rm -f ${TmPsTdErR}; exit 0' 0 1 2 15

while AlErT $1
do
	if [ -INTERVAL- -le 0 ]
	then
		exit 0
	else
		TiCk=0
		while [ "${TiCk}" -lt -INTERVAL- ]
		do
			TiCk=`expr "${TiCk}" + 1`
			sleep 60
		done
	fi
done

ec=$?
if [ "${ec}" -ne 0 ]
then
	{

		echo "
One of your print service alerts failed with exit code ${ec}.
The standard output and standard error were:
	"
		cat ${TmPsTdErR}
		echo '

The alert message is:
'
		cat $1

	} | mailx -s 'Failed print service alert' -USER-
fi