diff --git a/nagixsc.py b/nagixsc.py
index 21fc9a85009f732559eabb7b54cbcab505e1db97..d65aa09591406e85d9fbde3c1e79206433e5859b 100644 (file)
--- a/nagixsc.py
+++ b/nagixsc.py
import base64
import datetime
import libxml2
+import shlex
+import subprocess
import sys
def debug(level, verb, string):
return base64.b64encode(data)
+##############################################################################
+
+def exec_check(host_name, service_descr, cmdline):
+ try:
+ cmd = subprocess.Popen(shlex.split(cmdline), stdout=subprocess.PIPE)
+ output = cmd.communicate()[0].rstrip()
+ retcode = cmd.returncode
+ except OSError:
+ output = 'Could not execute "%s"' % cmdline
+ retcode = 127
+
+ return {'host_name':host_name, 'service_description':service_descr, 'returncode':retcode, 'output':output, 'timestamp':datetime.datetime.now().strftime('%s')}
+
+
##############################################################################
def read_xml(options):