Issue
Code backup
This commit is contained in:
@@ -0,0 +1,509 @@
|
||||
#!/bin/bash
|
||||
|
||||
# - VAR
|
||||
|
||||
# - Bash info
|
||||
APPNAME=$(basename $0)
|
||||
NAME="Check TplinkAp"
|
||||
AUTHOR="Kalarumeth"
|
||||
VERSION="v0.1"
|
||||
URL="https://github.com/Kalarumeth"
|
||||
|
||||
# - Default settings for connection
|
||||
COMMUNITY="public"
|
||||
HOST_NAME="localhost"
|
||||
SNMPVERSION="2c"
|
||||
|
||||
# - State Variables
|
||||
STATE_OK=0
|
||||
STATE_WARN=1
|
||||
STATE_CRIT=2
|
||||
STATE_UNK=3
|
||||
STATE=$STATE_OK
|
||||
|
||||
# - OID
|
||||
|
||||
TpLink.OIDS() {
|
||||
OID_nameIF="1.3.6.1.2.1.2.2.1.2"
|
||||
OID_typeIF="1.3.6.1.2.1.2.2.1.3"
|
||||
OID_statusIF="1.3.6.1.2.1.2.2.1.8"
|
||||
OID_clientCon="1.3.6.1.4.1.11863.10.1.1.1"
|
||||
OID_arrayMac="1.3.6.1.4.1.11863.10.1.1.2.1.2"
|
||||
}
|
||||
|
||||
# - MAIN CODE
|
||||
|
||||
Script.HostAlive() {
|
||||
for server in $HOST_NAME; do
|
||||
ping -c1 -W1 -q $server &>/dev/null
|
||||
if [[ $? != 0 ]] ; then
|
||||
printf "%s\n" "$server is unreachable"
|
||||
exit $STATE_UNK
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Script.SNMP() {
|
||||
snmpwalk -v $SNMPVERSION -r 1 -t 10 -Oe -c $COMMUNITY $HOST_NAME $1
|
||||
}
|
||||
|
||||
Script.SNMP.Hex() {
|
||||
snmpwalk -v $SNMPVERSION -r 1 -t 10 -Oa -c $COMMUNITY $HOST_NAME $1
|
||||
}
|
||||
|
||||
# - TpLink AP Health Check
|
||||
|
||||
TpLink.Main() {
|
||||
Script.HostAlive
|
||||
|
||||
case $1 in
|
||||
client)
|
||||
TpLink.ClientConnected
|
||||
exit $STATE ;;
|
||||
if)
|
||||
TpLink.IF
|
||||
exit $STATE ;;
|
||||
*)
|
||||
echo "Unknown check!"
|
||||
Help.IPMI
|
||||
exit $STATE_UNK ;;
|
||||
esac
|
||||
}
|
||||
|
||||
TpLink.GetData() {
|
||||
TpLink.OIDS
|
||||
|
||||
case $1 in
|
||||
interface)
|
||||
nameIF=($(Script.SNMP $OID_nameIF | cut -d '"' -f 2 | sed "s/$//g"))
|
||||
statusIF=($(Script.SNMP $OID_statusIF | cut -d ' ' -f 4 | sed "s/$//g"))
|
||||
typeIF=($(Script.SNMP $OID_typeIF | cut -d ' ' -f 4 | sed "s/$//g")) ;;
|
||||
client)
|
||||
clientCon=$(Script.SNMP $OID_clientCon | cut -d ' ' -f 4 | sed "s/$//g")
|
||||
raw_arrayMac=$(Script.SNMP.Hex $OID_arrayMac | cut -d '"' -f 2 | cut -d '.' -f 1 | sed "s/-/:/g")
|
||||
readarray -t addressMac <<< $raw_arrayMac ;;
|
||||
esac
|
||||
}
|
||||
|
||||
TpLink.IF() {
|
||||
TpLink.GetData interface
|
||||
|
||||
TpLink.IF.Header
|
||||
|
||||
for((i=0; i<${#nameIF[@]}; i++))
|
||||
do
|
||||
TpLink.IF.operStatus
|
||||
printf "%s\t" "${nameIF[$i]}"
|
||||
TpLink.IF.IANAifType
|
||||
done
|
||||
}
|
||||
|
||||
TpLink.IF.Header() {
|
||||
WarningCounter=0
|
||||
CriticalCounter=0
|
||||
|
||||
|
||||
for((i=0; i<${#name[@]}; i++)); do
|
||||
if [[ ${name[$i]} == *"wifi"* ]] ; then
|
||||
for value in "${statusIF[$i]}"; do
|
||||
if [[ $value != 1 ]] && [[ $value != 2 ]]; then
|
||||
WarningCounter=$(( WarningCounter + 1 ))
|
||||
elif [[ $value == 2 ]]; then
|
||||
CriticalCounter=$(( CriticalCounter + 1 ))
|
||||
fi
|
||||
done
|
||||
elif [[ ${name[$i]} == *"eth"* ]] ; then
|
||||
for value in "${statusIF[$i]}"; do
|
||||
if [[ $value != 1 ]] && [[ $value != 2 ]]; then
|
||||
WarningCounter=$(( WarningCounter + 1 ))
|
||||
elif [[ $value == 2 ]]; then
|
||||
CriticalCounter=$(( CriticalCounter + 1 ))
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
for Error in "$(( WarningCounter + CriticalCounter ))"; do
|
||||
if [[ $WarningCounter == 0 ]] && [[ $CriticalCounter == 0 ]] ; then
|
||||
printf "%s\t%s\n\n" "OK!" "All interFace is Up"
|
||||
elif [[ $WarningCounter != 0 ]] && [[ $CriticalCounter == 0 ]] ; then
|
||||
printf "%s\t%s\n\n" "WARNING!" "$Error interFace with problem"
|
||||
elif [[ $CriticalCounter != 0 ]] ; then
|
||||
printf "%s\t%s\n\n" "CRITICAL!" "$Error interFace with problem"
|
||||
fi
|
||||
done
|
||||
|
||||
printf "%s\t%s\t%s\n" "STATUS" "NAME" "TYPE" "=============================="
|
||||
}
|
||||
|
||||
TpLink.IF.operStatus() {
|
||||
case ${statusIF[$i]} in
|
||||
1) printf "%s\t" "Up" ;;
|
||||
2) printf "%s\t" "Down" ;;
|
||||
3) printf "%s\t" "Testing" ;;
|
||||
4) printf "%s\t" "Unknown" ;;
|
||||
5) printf "%s\t" "Dormant" ;;
|
||||
6) printf "%s\t" "notPresent" ;;
|
||||
7) printf "%s\t" "lowerLayerDown" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
TpLink.IF.IANAifType() {
|
||||
case ${typeIF[$i]} in
|
||||
1) printf "%s\n" "other" ;;
|
||||
2) printf "%s\n" "regular1822" ;;
|
||||
3) printf "%s\n" "hdh1822" ;;
|
||||
4) printf "%s\n" "ddnX25" ;;
|
||||
5) printf "%s\n" "rfc877x25" ;;
|
||||
6) printf "%s\n" "ethernetCsmacd" ;;
|
||||
7) printf "%s\n" "iso88023Csmacd" ;;
|
||||
8) printf "%s\n" "iso88024TokenBus" ;;
|
||||
9) printf "%s\n" "iso88025TokenRing" ;;
|
||||
10) printf "%s\n" "iso88026Man" ;;
|
||||
11) printf "%s\n" "starLan" ;;
|
||||
12) printf "%s\n" "proteon10Mbit" ;;
|
||||
13) printf "%s\n" "proteon80Mbit" ;;
|
||||
14) printf "%s\n" "hyperchannel" ;;
|
||||
15) printf "%s\n" "fddi" ;;
|
||||
16) printf "%s\n" "lapb" ;;
|
||||
17) printf "%s\n" "sdlc" ;;
|
||||
18) printf "%s\n" "ds1" ;;
|
||||
19) printf "%s\n" "e1" ;;
|
||||
20) printf "%s\n" "basicISDN" ;;
|
||||
21) printf "%s\n" "primaryISDN" ;;
|
||||
22) printf "%s\n" "propPointToPointSerial" ;;
|
||||
23) printf "%s\n" "ppp" ;;
|
||||
24) printf "%s\n" "softwareLoopback" ;;
|
||||
25) printf "%s\n" "eon" ;;
|
||||
26) printf "%s\n" "ethernet3Mbit" ;;
|
||||
27) printf "%s\n" "nsip" ;;
|
||||
28) printf "%s\n" "slip" ;;
|
||||
29) printf "%s\n" "ultra" ;;
|
||||
30) printf "%s\n" "ds3" ;;
|
||||
31) printf "%s\n" "sip" ;;
|
||||
32) printf "%s\n" "frameRelay" ;;
|
||||
33) printf "%s\n" "rs232" ;;
|
||||
34) printf "%s\n" "para" ;;
|
||||
35) printf "%s\n" "arcnet" ;;
|
||||
36) printf "%s\n" "arcnetPlus" ;;
|
||||
37) printf "%s\n" "atm" ;;
|
||||
38) printf "%s\n" "miox25" ;;
|
||||
39) printf "%s\n" "sonet" ;;
|
||||
40) printf "%s\n" "x25ple" ;;
|
||||
41) printf "%s\n" "iso88022llc" ;;
|
||||
42) printf "%s\n" "localTalk" ;;
|
||||
43) printf "%s\n" "smdsDxi" ;;
|
||||
44) printf "%s\n" "frameRelayService" ;;
|
||||
45) printf "%s\n" "v35" ;;
|
||||
46) printf "%s\n" "hssi" ;;
|
||||
47) printf "%s\n" "hippi" ;;
|
||||
48) printf "%s\n" "modem" ;;
|
||||
49) printf "%s\n" "aal5" ;;
|
||||
50) printf "%s\n" "sonetPath" ;;
|
||||
51) printf "%s\n" "sonetVT" ;;
|
||||
52) printf "%s\n" "smdsIcip" ;;
|
||||
53) printf "%s\n" "propVirtual" ;;
|
||||
54) printf "%s\n" "propMultiplexor" ;;
|
||||
55) printf "%s\n" "ieee80212" ;;
|
||||
56) printf "%s\n" "fibreChannel" ;;
|
||||
57) printf "%s\n" "hippiInterface" ;;
|
||||
58) printf "%s\n" "frameRelayInterconnect" ;;
|
||||
59) printf "%s\n" "aflane8023" ;;
|
||||
60) printf "%s\n" "aflane8025" ;;
|
||||
61) printf "%s\n" "cctEmul" ;;
|
||||
62) printf "%s\n" "fastEther" ;;
|
||||
63) printf "%s\n" "isdn" ;;
|
||||
64) printf "%s\n" "v11" ;;
|
||||
65) printf "%s\n" "v36" ;;
|
||||
66) printf "%s\n" "g703at64k" ;;
|
||||
67) printf "%s\n" "g703at2mb" ;;
|
||||
68) printf "%s\n" "qllc" ;;
|
||||
69) printf "%s\n" "fastEtherFX" ;;
|
||||
70) printf "%s\n" "channel" ;;
|
||||
71) printf "%s\n" "ieee80211" ;;
|
||||
72) printf "%s\n" "ibm370parChan" ;;
|
||||
73) printf "%s\n" "escon" ;;
|
||||
74) printf "%s\n" "dlsw" ;;
|
||||
75) printf "%s\n" "isdns" ;;
|
||||
76) printf "%s\n" "isdnu" ;;
|
||||
77) printf "%s\n" "lapd" ;;
|
||||
78) printf "%s\n" "ipSwitch" ;;
|
||||
79) printf "%s\n" "rsrb" ;;
|
||||
80) printf "%s\n" "atmLogical" ;;
|
||||
81) printf "%s\n" "ds0" ;;
|
||||
82) printf "%s\n" "ds0Bundle" ;;
|
||||
83) printf "%s\n" "bsc" ;;
|
||||
84) printf "%s\n" "async" ;;
|
||||
85) printf "%s\n" "cnr" ;;
|
||||
86) printf "%s\n" "iso88025Dtr" ;;
|
||||
87) printf "%s\n" "eplrs" ;;
|
||||
88) printf "%s\n" "arap" ;;
|
||||
89) printf "%s\n" "propCnls" ;;
|
||||
90) printf "%s\n" "hostPad" ;;
|
||||
91) printf "%s\n" "termPad" ;;
|
||||
92) printf "%s\n" "frameRelayMPI" ;;
|
||||
93) printf "%s\n" "x213" ;;
|
||||
94) printf "%s\n" "adsl" ;;
|
||||
95) printf "%s\n" "radsl" ;;
|
||||
96) printf "%s\n" "sdsl" ;;
|
||||
97) printf "%s\n" "vdsl" ;;
|
||||
98) printf "%s\n" "iso88025CRFPInt" ;;
|
||||
99) printf "%s\n" "myrinet" ;;
|
||||
100) printf "%s\n" "voiceEM" ;;
|
||||
101) printf "%s\n" "voiceFXO" ;;
|
||||
102) printf "%s\n" "voiceFXS" ;;
|
||||
103) printf "%s\n" "voiceEncap" ;;
|
||||
104) printf "%s\n" "voiceOverIp" ;;
|
||||
105) printf "%s\n" "atmDxi" ;;
|
||||
106) printf "%s\n" "atmFuni" ;;
|
||||
107) printf "%s\n" "atmIma" ;;
|
||||
108) printf "%s\n" "pppMultilinkBundle" ;;
|
||||
109) printf "%s\n" "ipOverCdlc" ;;
|
||||
110) printf "%s\n" "ipOverClaw" ;;
|
||||
111) printf "%s\n" "stackToStack" ;;
|
||||
112) printf "%s\n" "virtualIpAddress" ;;
|
||||
113) printf "%s\n" "mpc" ;;
|
||||
114) printf "%s\n" "ipOverAtm" ;;
|
||||
115) printf "%s\n" "iso88025Fiber" ;;
|
||||
116) printf "%s\n" "tdlc" ;;
|
||||
117) printf "%s\n" "gigabitEthernet" ;;
|
||||
118) printf "%s\n" "hdlc" ;;
|
||||
119) printf "%s\n" "lapf" ;;
|
||||
120) printf "%s\n" "v37" ;;
|
||||
121) printf "%s\n" "x25mlp" ;;
|
||||
122) printf "%s\n" "x25huntGroup" ;;
|
||||
123) printf "%s\n" "transpHdlc" ;;
|
||||
124) printf "%s\n" "interleave" ;;
|
||||
125) printf "%s\n" "fast" ;;
|
||||
126) printf "%s\n" "ip" ;;
|
||||
127) printf "%s\n" "docsCableMaclayer" ;;
|
||||
128) printf "%s\n" "docsCableDownstream" ;;
|
||||
129) printf "%s\n" "docsCableUpstream" ;;
|
||||
130) printf "%s\n" "a12MppSwitch" ;;
|
||||
131) printf "%s\n" "tunnel" ;;
|
||||
132) printf "%s\n" "coffee" ;;
|
||||
133) printf "%s\n" "ces" ;;
|
||||
134) printf "%s\n" "atmSubInterface" ;;
|
||||
135) printf "%s\n" "l2vlan" ;;
|
||||
136) printf "%s\n" "l3ipvlan" ;;
|
||||
137) printf "%s\n" "l3ipxvlan" ;;
|
||||
138) printf "%s\n" "digitalPowerline" ;;
|
||||
139) printf "%s\n" "mediaMailOverIp" ;;
|
||||
140) printf "%s\n" "dtm" ;;
|
||||
141) printf "%s\n" "dcn" ;;
|
||||
142) printf "%s\n" "ipForward" ;;
|
||||
143) printf "%s\n" "msdsl" ;;
|
||||
144) printf "%s\n" "ieee1394" ;;
|
||||
145) printf "%s\n" "if-gsn" ;;
|
||||
146) printf "%s\n" "dvbRccMacLayer" ;;
|
||||
147) printf "%s\n" "dvbRccDownstream" ;;
|
||||
148) printf "%s\n" "dvbRccUpstream" ;;
|
||||
149) printf "%s\n" "atmVirtual" ;;
|
||||
150) printf "%s\n" "mplsTunnel" ;;
|
||||
151) printf "%s\n" "srp" ;;
|
||||
152) printf "%s\n" "voiceOverAtm" ;;
|
||||
153) printf "%s\n" "voiceOverFrameRelay" ;;
|
||||
154) printf "%s\n" "idsl" ;;
|
||||
155) printf "%s\n" "compositeLink" ;;
|
||||
156) printf "%s\n" "ss7SigLink" ;;
|
||||
157) printf "%s\n" "propWirelessP2P" ;;
|
||||
158) printf "%s\n" "frForward" ;;
|
||||
159) printf "%s\n" "rfc1483" ;;
|
||||
160) printf "%s\n" "usb" ;;
|
||||
161) printf "%s\n" "ieee8023adLag" ;;
|
||||
162) printf "%s\n" "bgppolicyaccounting" ;;
|
||||
163) printf "%s\n" "frf16MfrBundle" ;;
|
||||
164) printf "%s\n" "h323Gatekeeper" ;;
|
||||
165) printf "%s\n" "h323Proxy" ;;
|
||||
166) printf "%s\n" "mpls" ;;
|
||||
167) printf "%s\n" "mfSigLink" ;;
|
||||
168) printf "%s\n" "hdsl2" ;;
|
||||
169) printf "%s\n" "shdsl" ;;
|
||||
170) printf "%s\n" "ds1FDL" ;;
|
||||
171) printf "%s\n" "pos" ;;
|
||||
172) printf "%s\n" "dvbAsiIn" ;;
|
||||
173) printf "%s\n" "dvbAsiOut" ;;
|
||||
174) printf "%s\n" "plc" ;;
|
||||
175) printf "%s\n" "nfas" ;;
|
||||
176) printf "%s\n" "tr008" ;;
|
||||
177) printf "%s\n" "gr303RDT" ;;
|
||||
178) printf "%s\n" "gr303IDT" ;;
|
||||
179) printf "%s\n" "isup" ;;
|
||||
180) printf "%s\n" "propDocsWirelessMaclayer" ;;
|
||||
181) printf "%s\n" "propDocsWirelessDownstream" ;;
|
||||
182) printf "%s\n" "propDocsWirelessUpstream" ;;
|
||||
183) printf "%s\n" "hiperlan2" ;;
|
||||
184) printf "%s\n" "propBWAp2Mp" ;;
|
||||
185) printf "%s\n" "sonetOverheadChannel" ;;
|
||||
186) printf "%s\n" "digitalWrapperOverheadChannel" ;;
|
||||
187) printf "%s\n" "aal2" ;;
|
||||
188) printf "%s\n" "radioMAC" ;;
|
||||
189) printf "%s\n" "atmRadio" ;;
|
||||
190) printf "%s\n" "imt" ;;
|
||||
191) printf "%s\n" "mvl" ;;
|
||||
192) printf "%s\n" "reachDSL" ;;
|
||||
193) printf "%s\n" "frDlciEndPt" ;;
|
||||
194) printf "%s\n" "atmVciEndPt" ;;
|
||||
195) printf "%s\n" "opticalChannel" ;;
|
||||
196) printf "%s\n" "opticalTransport" ;;
|
||||
197) printf "%s\n" "propAtm" ;;
|
||||
198) printf "%s\n" "voiceOverCable" ;;
|
||||
199) printf "%s\n" "infiniband" ;;
|
||||
200) printf "%s\n" "teLink" ;;
|
||||
201) printf "%s\n" "q2931" ;;
|
||||
202) printf "%s\n" "virtualTg" ;;
|
||||
203) printf "%s\n" "sipTg" ;;
|
||||
204) printf "%s\n" "sipSig" ;;
|
||||
205) printf "%s\n" "docsCableUpstreamChannel" ;;
|
||||
206) printf "%s\n" "econet" ;;
|
||||
207) printf "%s\n" "pon155" ;;
|
||||
208) printf "%s\n" "pon622" ;;
|
||||
209) printf "%s\n" "bridge" ;;
|
||||
210) printf "%s\n" "linegroup" ;;
|
||||
211) printf "%s\n" "voiceEMFGD" ;;
|
||||
212) printf "%s\n" "voiceFGDEANA" ;;
|
||||
213) printf "%s\n" "voiceDID" ;;
|
||||
214) printf "%s\n" "mpegTransport" ;;
|
||||
215) printf "%s\n" "sixToFour" ;;
|
||||
216) printf "%s\n" "gtp" ;;
|
||||
217) printf "%s\n" "pdnEtherLoop1" ;;
|
||||
218) printf "%s\n" "pdnEtherLoop2" ;;
|
||||
219) printf "%s\n" "opticalChannelGroup" ;;
|
||||
220) printf "%s\n" "homepna" ;;
|
||||
221) printf "%s\n" "gfp" ;;
|
||||
222) printf "%s\n" "ciscoISLvlan" ;;
|
||||
223) printf "%s\n" "actelisMetaLOOP" ;;
|
||||
224) printf "%s\n" "fcipLink" ;;
|
||||
225) printf "%s\n" "rpr" ;;
|
||||
226) printf "%s\n" "qam" ;;
|
||||
227) printf "%s\n" "lmp" ;;
|
||||
228) printf "%s\n" "cblVectaStar" ;;
|
||||
229) printf "%s\n" "docsCableMCmtsDownstream" ;;
|
||||
230) printf "%s\n" "adsl2" ;;
|
||||
231) printf "%s\n" "macSecControlledIF" ;;
|
||||
232) printf "%s\n" "macSecUncontrolledIF" ;;
|
||||
233) printf "%s\n" "aviciOpticalEther" ;;
|
||||
234) printf "%s\n" "atmbond" ;;
|
||||
235) printf "%s\n" "voiceFGDOS" ;;
|
||||
236) printf "%s\n" "mocaVersion1" ;;
|
||||
237) printf "%s\n" "ieee80216WMAN" ;;
|
||||
238) printf "%s\n" "adsl2plus" ;;
|
||||
239) printf "%s\n" "dvbRcsMacLayer" ;;
|
||||
240) printf "%s\n" "dvbTdm" ;;
|
||||
241) printf "%s\n" "dvbRcsTdma" ;;
|
||||
242) printf "%s\n" "x86Laps" ;;
|
||||
243) printf "%s\n" "wwanPP" ;;
|
||||
244) printf "%s\n" "wwanPP2" ;;
|
||||
245) printf "%s\n" "voiceEBS" ;;
|
||||
246) printf "%s\n" "ifPwType" ;;
|
||||
247) printf "%s\n" "ilan" ;;
|
||||
248) printf "%s\n" "pip" ;;
|
||||
249) printf "%s\n" "aluELP" ;;
|
||||
250) printf "%s\n" "gpon" ;;
|
||||
251) printf "%s\n" "vdsl2" ;;
|
||||
252) printf "%s\n" "capwapDot11Profile" ;;
|
||||
253) printf "%s\n" "capwapDot11Bss" ;;
|
||||
254) printf "%s\n" "capwapWtpVirtualRadio" ;;
|
||||
255) printf "%s\n" "bits" ;;
|
||||
256) printf "%s\n" "docsCableUpstreamRfPort" ;;
|
||||
257) printf "%s\n" "cableDownstreamRfPort" ;;
|
||||
258) printf "%s\n" "vmwareVirtualNic" ;;
|
||||
259) printf "%s\n" "ieee802154" ;;
|
||||
260) printf "%s\n" "otnOdu" ;;
|
||||
261) printf "%s\n" "otnOtu" ;;
|
||||
262) printf "%s\n" "ifVfiType" ;;
|
||||
263) printf "%s\n" "g9981" ;;
|
||||
264) printf "%s\n" "g9982" ;;
|
||||
265) printf "%s\n" "g9983" ;;
|
||||
266) printf "%s\n" "aluEpon" ;;
|
||||
267) printf "%s\n" "aluEponOnu" ;;
|
||||
268) printf "%s\n" "aluEponPhysicalUni" ;;
|
||||
269) printf "%s\n" "aluEponLogicalLink" ;;
|
||||
270) printf "%s\n" "aluGponOnu" ;;
|
||||
271) printf "%s\n" "aluGponPhysicalUni" ;;
|
||||
272) printf "%s\n" "vmwareNicTeam" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
TpLink.ClientConnected() {
|
||||
TpLink.GetData client
|
||||
|
||||
printf "%s\n" "Conneceted clients: $clientCon"
|
||||
if [[ $clientCon != 0 ]] ; then
|
||||
printf "\n"
|
||||
for((i=0; i<${#addressMac[@]}; i++)); do
|
||||
printf "%s\n" "$((i+1)). ${addressMac[$i]}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# - Help
|
||||
|
||||
Help.Main() {
|
||||
echo "Check AP Status"
|
||||
echo ''
|
||||
Help.Usage
|
||||
echo ''
|
||||
Help.Option
|
||||
echo ''
|
||||
Help.Info
|
||||
echo ''
|
||||
exit $STATE_UNK
|
||||
}
|
||||
|
||||
Help.Usage() {
|
||||
printf "%s\n" "Method to compose the execution string"
|
||||
printf "%s\n" "./$APPNAME -c <SNMP community> -h <host>"
|
||||
}
|
||||
|
||||
Help.Option() {
|
||||
printf "%s\n" "OPTIONS:"
|
||||
printf "%s\t%s\t%s\n\t\t\t%s\n" "-c" "--community" "SNMP v2 community string with Read access." " Default is $COMMUNITY."
|
||||
printf "%s\t%s\t\t%s\n\t\t\t%s\n" "-h" "--host" "Host name or IP address to check." " Default is $HOST_NAME."
|
||||
printf "%s\t%s\t\t%s\n" "-H" "--help" "Show script help"
|
||||
printf "%s\t%s\t%s\n" "-V" "--version" "Show script version"
|
||||
}
|
||||
|
||||
Help.IPMI() {
|
||||
printf "\n%s\n\n" "TpLink AP EAP265HD Check Function"
|
||||
printf "%s\t%s\n\n" "Check" "Description"
|
||||
printf "%s\t%s\n" "all" "Full monitoring check with single output"
|
||||
printf "%s\t%s\n" "cpu" "Monitoring CPU load"
|
||||
printf "%s\t%s\n" "err" "Monitoring system error"
|
||||
printf "%s\t%s\n" "fan" "Monitoring fan speed"
|
||||
printf "%s\t%s\n" "ram" "Monitoring RAM load"
|
||||
printf "%s\t%s\n" "hw" "Monitoring Hardware status"
|
||||
printf "%s\t%s\n" "temp" "Monitoring temperature sensor"
|
||||
}
|
||||
|
||||
Help.Info() {
|
||||
printf "%s\t%s\t%s\n" "INFO:" "$NAME" "$VERSION" "" "$AUTHOR" "$URL"
|
||||
}
|
||||
|
||||
# - COMMAND LINE ENCODER
|
||||
|
||||
while test -n "$1"; do
|
||||
case "$1" in
|
||||
--host | -h)
|
||||
HOST_NAME=$2
|
||||
shift ;;
|
||||
--comunity | -c)
|
||||
COMMUNITY=$2
|
||||
shift ;;
|
||||
--type | -t)
|
||||
TpLink.Main $2
|
||||
shift ;;
|
||||
--help | -H)
|
||||
Help.Main ;;
|
||||
--version | -V)
|
||||
Help.Info
|
||||
exit $STATE ;;
|
||||
*)
|
||||
echo "Unknown argument: $1"
|
||||
print_help
|
||||
exit $STATE_UNK ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
TpLink.Main
|
||||
Reference in New Issue
Block a user