diff options
-rw-r--r-- | contrib/check_axis.sh | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/contrib/check_axis.sh b/contrib/check_axis.sh new file mode 100644 index 0000000..e97d4cd --- /dev/null +++ b/contrib/check_axis.sh | |||
@@ -0,0 +1,93 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | box=$1 | ||
4 | port=$2 | ||
5 | usr=$3 | ||
6 | pass=$4 | ||
7 | |||
8 | if [ ! "$#" == "4" ]; then | ||
9 | echo -e "\nYou did not supply enough command line arguments. \nUsage: ./check_axis.sh <host> <port> <username> <password> \n \nCheck_axis.sh checks the status of LPT ports on Axis print servers. \nIt was written by Tom De Blende (tom.deblende@village.uunet.be) in 2002. \n" && exit "3" | ||
10 | fi | ||
11 | |||
12 | tempfile=/tmp/status-$box.tmp | ||
13 | exit="3" | ||
14 | |||
15 | ftp -in $box &>/dev/null <<EOF | ||
16 | user $usr $pass | ||
17 | passive | ||
18 | prompt off | ||
19 | lcd /tmp | ||
20 | ascii | ||
21 | get status $tempfile | ||
22 | EOF | ||
23 | |||
24 | if [ ! -e "$tempfile" ]; then | ||
25 | stdio="Status file could not be transferred from the Axis box." && rm -f $tempfile && echo $stdio && exit 2; | ||
26 | fi | ||
27 | |||
28 | lines=`cat $tempfile | grep -i $port` | ||
29 | status=`echo $lines | awk '{ print $3 }'` | ||
30 | if [ "$status" == "Printing" ]; then | ||
31 | bytes=`echo $lines | awk '{ print $4 }'`; | ||
32 | comments=`echo $lines | tr -d " | ||
33 | " | awk '{ print $5 " " $6 }'`; | ||
34 | else | ||
35 | comments=`echo $lines | tr -d " | ||
36 | " | awk '{ print $4 " " $5 }'`; | ||
37 | fi | ||
38 | |||
39 | comma=`echo $comments | grep , | wc -l` | ||
40 | if [ "$comma" -eq "1" ]; then | ||
41 | comments=`echo $comments | cut -d, -f1` | ||
42 | fi | ||
43 | |||
44 | |||
45 | if [ "$status" == "Available" ]; then | ||
46 | if [ "$comments" == "Paper out" ]; then | ||
47 | exit="1" && stdio="WARNING - Out of paper."; | ||
48 | elif [ "$comments" == " " ]; then | ||
49 | exit="0" && stdio="OK - Printer is available but returns no comments."; | ||
50 | elif [ "$comments" == "No error" ]; then | ||
51 | exit="0" && stdio="OK - No error."; | ||
52 | elif [ "$comments" == "Ready " ]; then | ||
53 | exit="0" && stdio="OK - Ready."; | ||
54 | elif [ "$comments" == "Off line" ]; then | ||
55 | exit="1" && stdio="WARNING - Printer is off line."; | ||
56 | elif [ "$comments" == "Out of" ]; then | ||
57 | exit="1" && stdio="WARNING - Out of paper."; | ||
58 | elif [ "$comments" == "Busy Out" ]; then | ||
59 | exit="1" && stdio="WARNING - Busy, out of paper."; | ||
60 | elif [ "$comments" == "Printer off-line" ]; then | ||
61 | exit="1" && stdio="WARNING - Printer is off line."; | ||
62 | elif [ "$comments" == "Printer fault" ]; then | ||
63 | exit="2" && stdio="CRITICAL - Printer fault."; | ||
64 | else | ||
65 | exit="3" && stdio="Comments: $comments"; | ||
66 | fi | ||
67 | elif [ "$status" == "Printing" ]; then | ||
68 | if [ "$comments" == "Printer busy" ]; then | ||
69 | exit="0" && stdio="OK - PRINTING. Bytes printed: $bytes."; | ||
70 | elif [ "$comments" == "No error" ]; then | ||
71 | exit="0" && stdio="OK - PRINTING. Bytes printed: $bytes."; | ||
72 | elif [ "$comments" == "Paper out" ]; then | ||
73 | exit="1" && stdio="WARNING - PRINTING. Out of paper."; | ||
74 | elif [ "$comments" == "Out of" ]; then | ||
75 | exit="1" && stdio="WARNING - PRINTING. Out of paper. Bytes printed: $bytes."; | ||
76 | elif [ "$comments" == "Ready " ]; then | ||
77 | exit="0" && stdio="OK - PRINTING. Bytes printed: $bytes."; | ||
78 | elif [ "$comments" == "Printer off-line" ]; then | ||
79 | exit="1" && stdio="WARNING - PRINTING. Printer is off line."; | ||
80 | elif [ "$comments" == "Busy " ]; then | ||
81 | exit="0" && stdio="OK - PRINTING. Busy. Bytes printed: $bytes."; | ||
82 | elif [ "$comments" == "Off line" ]; then | ||
83 | exit="1" && stdio="WARNING - PRINTING. Printer is off line."; | ||
84 | elif [ "$comments" == "Printer fault" ]; then | ||
85 | exit="2" && stdio="CRITICAL - PRINTING. Printer fault. Bytes printed: $bytes."; | ||
86 | else | ||
87 | exit="3" && stdio="Comments: $comments."; | ||
88 | fi | ||
89 | fi | ||
90 | |||
91 | rm -f $tempfile | ||
92 | echo $stdio | ||
93 | exit $exit | ||