1*7c478bd9Sstevel@tonic-gate#ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.5 */ 2*7c478bd9Sstevel@tonic-gate# 3*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 4*7c478bd9Sstevel@tonic-gate# 5*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 6*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 7*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 8*7c478bd9Sstevel@tonic-gate# with the License. 9*7c478bd9Sstevel@tonic-gate# 10*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 12*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 13*7c478bd9Sstevel@tonic-gate# and limitations under the License. 14*7c478bd9Sstevel@tonic-gate# 15*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 16*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 18*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 19*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 20*7c478bd9Sstevel@tonic-gate# 21*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 22*7c478bd9Sstevel@tonic-gate# 23*7c478bd9Sstevel@tonic-gate# 24*7c478bd9Sstevel@tonic-gate# Pardon the bizarre variable names, but we must not 25*7c478bd9Sstevel@tonic-gate# conflict with any variables that the user gives us. 26*7c478bd9Sstevel@tonic-gate# 27*7c478bd9Sstevel@tonic-gate 28*7c478bd9Sstevel@tonic-gate-ENVIRONMENT- 29*7c478bd9Sstevel@tonic-gate 30*7c478bd9Sstevel@tonic-gatecd -PWD- 31*7c478bd9Sstevel@tonic-gate 32*7c478bd9Sstevel@tonic-gateif [ "`ulimit`" -gt -ULIMIT- ] 33*7c478bd9Sstevel@tonic-gatethen 34*7c478bd9Sstevel@tonic-gate ulimit -ULIMIT- 35*7c478bd9Sstevel@tonic-gatefi 36*7c478bd9Sstevel@tonic-gate 37*7c478bd9Sstevel@tonic-gateumask -UMASK- 38*7c478bd9Sstevel@tonic-gate 39*7c478bd9Sstevel@tonic-gateAlErT () { 40*7c478bd9Sstevel@tonic-gate 2>&1 ( 41*7c478bd9Sstevel@tonic-gate-CMD- 42*7c478bd9Sstevel@tonic-gate ) <$1 1>${TmPsTdErR} || return 1 43*7c478bd9Sstevel@tonic-gate return 0 44*7c478bd9Sstevel@tonic-gate} 45*7c478bd9Sstevel@tonic-gate 46*7c478bd9Sstevel@tonic-gateTmPsTdErR=${TMPDIR:-/usr/tmp}/`/bin/uname -n`$$ 47*7c478bd9Sstevel@tonic-gatetrap 'rm -f ${TmPsTdErR}; exit 0' 0 1 2 15 48*7c478bd9Sstevel@tonic-gate 49*7c478bd9Sstevel@tonic-gatewhile AlErT $1 50*7c478bd9Sstevel@tonic-gatedo 51*7c478bd9Sstevel@tonic-gate if [ -INTERVAL- -le 0 ] 52*7c478bd9Sstevel@tonic-gate then 53*7c478bd9Sstevel@tonic-gate exit 0 54*7c478bd9Sstevel@tonic-gate else 55*7c478bd9Sstevel@tonic-gate TiCk=0 56*7c478bd9Sstevel@tonic-gate while [ "${TiCk}" -lt -INTERVAL- ] 57*7c478bd9Sstevel@tonic-gate do 58*7c478bd9Sstevel@tonic-gate TiCk=`expr "${TiCk}" + 1` 59*7c478bd9Sstevel@tonic-gate sleep 60 60*7c478bd9Sstevel@tonic-gate done 61*7c478bd9Sstevel@tonic-gate fi 62*7c478bd9Sstevel@tonic-gatedone 63*7c478bd9Sstevel@tonic-gate 64*7c478bd9Sstevel@tonic-gateec=$? 65*7c478bd9Sstevel@tonic-gateif [ "${ec}" -ne 0 ] 66*7c478bd9Sstevel@tonic-gatethen 67*7c478bd9Sstevel@tonic-gate { 68*7c478bd9Sstevel@tonic-gate 69*7c478bd9Sstevel@tonic-gate echo " 70*7c478bd9Sstevel@tonic-gateOne of your print service alerts failed with exit code ${ec}. 71*7c478bd9Sstevel@tonic-gateThe standard output and standard error were: 72*7c478bd9Sstevel@tonic-gate " 73*7c478bd9Sstevel@tonic-gate cat ${TmPsTdErR} 74*7c478bd9Sstevel@tonic-gate echo ' 75*7c478bd9Sstevel@tonic-gate 76*7c478bd9Sstevel@tonic-gateThe alert message is: 77*7c478bd9Sstevel@tonic-gate' 78*7c478bd9Sstevel@tonic-gate cat $1 79*7c478bd9Sstevel@tonic-gate 80*7c478bd9Sstevel@tonic-gate } | mailx -s 'Failed print service alert' -USER- 81*7c478bd9Sstevel@tonic-gatefi 82