From dd577a936451caf0c1bab225a642f684418904d9 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Mon, 12 Feb 2007 13:29:40 +0000 Subject: [PATCH] Added -n option, to specify the host name used for lookup in cfg file. --- check_no_server | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/check_no_server b/check_no_server index e496dee..99f2970 100755 --- a/check_no_server +++ b/check_no_server @@ -20,30 +20,30 @@ def ok(hostname, msg): print "OK - %s: %s" % (hostname, msg) sys.exit(0) -def check_no_server(hostname, port, cfg): +def check_no_server(hostaddr, port, cfg, hostname): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(7) try: - s.connect((hostname, port)) + s.connect((hostaddr, port)) except socket.gaierror, err: - warning(hostname, err[1]) + warning(hostaddr, err[1]) except socket.timeout: if cfg.require(hostname): - critical(hostname, "timeout connecting to server") + critical(hostaddr, "timeout connecting to server") else: - ok(hostname, "timeout connecting to server") + ok(hostaddr, "timeout connecting to server") except socket.error, e: if e[0] == errno.ECONNREFUSED: if cfg.require(hostname): - critical(hostname, e[1]) + critical(hostaddr, e[1]) else: - ok(hostname, e[1]) - unknown(hostname, e[1]) + ok(hostaddr, e[1]) + unknown(hostaddr, e[1]) if cfg.allowed(hostname): - ok(hostname, "connection succeeded") + ok(hostaddr, "connection succeeded") else: - critical(hostname, "connection succeeded") + critical(hostaddr, "connection succeeded") class CfgFile(object): def __init__(self, fn=None): @@ -69,33 +69,40 @@ def usage(): def main(): import getopt - host = None + hostaddr = None port = None cfg = None + hostname = None - opts, args = getopt.getopt(sys.argv[1:], "H:p:c:", - ["host=", "port=", "cfg="]) + opts, args = getopt.getopt(sys.argv[1:], "H:p:c:n:", + ["host=", "port=", "cfg=", + "name="]) for opt, val in opts: if opt in ("-H", "--host"): - host = val + hostaddr = val elif opt in ("-p", "--port"): port = int(val) elif opt in ("-c", "--cfg"): cfg = val + elif opt in ("-n", "--name"): + hostname = val - if host is None and port is None and len(args) == 2: - host = args[0] + if hostaddr is None and port is None and len(args) == 2: + hostaddr = args[0] port = int(args[1]) - if host is None or port is None: + if hostaddr is None or port is None: usage() if cfg is not None: cfg_data = CfgFile(cfg) else: cfg_data = CfgFile() + + if hostname is None: + hostname = hostaddr - check_no_server(host, port, cfg_data) + check_no_server(hostaddr, port, cfg_data, hostname) if __name__ == '__main__': main() -- GitLab