#!/bin/sh # # printers: Sun Enterprise Server check - BB external script test # # version 1.0 # version 1.1 - modified for new conditions # version 1.2 - properly uses $CAT instead of cat # version 1.3 - properly uses $MACHINE instead of `uname -n` in bb-hosts check # version 1.4 - properly uses $THIS_HOST instead of $MACHINE due to fqdn using comma in name - thanks Craig Cook # version 1.5 - switched "lpstat -p" to "lpstat -a" to filter rejected printers # # BIG BROTHER / XXXXXXXXXXXXXXXX status # # Written by Paul A. Luzzi # on March 22, 2000 # ######################################## # NOTE # This has been tested with BB 1.2b, 1.4h2, 1.5, 1.5a # # Tested on : # Sun Ultra 60, E220R/420R, E250/450, E3000/3500, E4500 # # Could not make my table code appear as # nice as I normally do with all the # indents, because the spaces were taking # up very precious data area I needed. ######################################## ######################################## # INSTALLATION # step 1 - update the EXT section of the runbb.sh script to include this # ... ######################################## ################################## # CONFIGURE IT HERE ################################## HPNPADMIN=/opt/hpnp/bin/hpnpadmin LPSTAT=/usr/bin/lpstat export HPNPADMIN LPSTAT ################################## # Start of script ################################## if test ! "$BBHOME" then echo "template: BBHOME is not set" exit 1 fi if test ! -d "$BBHOME" then echo "template: BBHOME is invalid" exit 1 fi if test ! "$BBTMP" # GET DEFINITIONS IF NEEDED then echo "template: The BB environment is not set" exit 1 fi ##### ##### Start of custom section added by Paul A. Luzzi ##### ##### ##### Get Status proc - used to get all responses ##### get_status() { ##### ##### Setup any and all variables before beginning. ##### ##### ##### Section written on 03-22-2000 by Paul A. Luzzi ##### for use with Big Brother ##### ##### Purpose is to report back to a central server, all "standard" ##### detailed information about network, disk, volume, cpu, memory ##### which is not reported thru regular "easy" checks. ##### ##### Any problem areas should be highlighted in : ##### bold, italics, and red font. ##### ##### ##### Setup some variables for use later ##### COLOR="green" echo "0" > /tmp/$THIS_HOST.printers.color ##### ##### Printer Information ##### echo "
| Printer Name | " echo "Printer Status | " echo "Control Panel | " echo "Line State | " echo "Printer State | " echo "
| "$2" | " } else if ( $1 == "Printer Status" ) { print ""$2" | " } else if ( $1 == "Control Panel " ) { if ( $2 == " PERFORM USER" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TONER LOW ?" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 0 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 1 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 2 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 3 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 4 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 5 EMPTY" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 0 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 1 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 2 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 3 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 4 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 5 OPEN" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 0" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 1" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 2" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 3" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 4" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " LOAD TRAY 5" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 0 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 1 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 2 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 3 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 4 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } else if ( $2 == " TRAY 5 LOAD" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } print ""$2" | " } else if ( $1 == "Line State " ) { if ( $2 == " toner/ink low" ) { system( "echo 1 >> /tmp/$THIS_HOST.printers.color" ) } print ""$2" | " } else if ( $1 == "Printer State " ) { if ( $2 == " offline or intervention needed" ) { system( "echo 2 >> /tmp/$THIS_HOST.printers.color" ) } print ""$2" | " print "Status N/A | " print "" } } } ' fi done ##### ##### Close up the table, and the font tags - we're done. ##### echo "