From 3a12034805caf6c4ad21a8f86c8e4a43ff62576c Mon Sep 17 00:00:00 2001 From: Sven Nierlein Date: Thu, 10 Mar 2016 21:33:49 +0100 Subject: check_by_ssh: print command output in verbose mode right now it is not possible to print the command output of ssh. check_by_ssh only prints the command itself. This patchs adds printing the output too. This makes it possible to use ssh with verbose logging which helps debuging any connection, key or other ssh problems. Note: you must use -E,--skip-stderr=, otherwise check_by_ssh would always exit with unknown state. Example: ./check_by_ssh -H localhost -o LogLevel=DEBUG3 -C "sleep 1" -E 999 -v Signed-off-by: Sven Nierlein --- plugins/check_by_ssh.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'plugins/check_by_ssh.c') diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c index 04bce38d..13d8bc3b 100644 --- a/plugins/check_by_ssh.c +++ b/plugins/check_by_ssh.c @@ -100,6 +100,13 @@ main (int argc, char **argv) result = cmd_run_array (commargv, &chld_out, &chld_err, 0); + if (verbose) { + for(i = 0; i < chld_out.lines; i++) + printf("stdout: %s\n", chld_out.line[i]); + for(i = 0; i < chld_err.lines; i++) + printf("stderr: %s\n", chld_err.line[i]); + } + if (skip_stdout == -1) /* --skip-stdout specified without argument */ skip_stdout = chld_out.lines; if (skip_stderr == -1) /* --skip-stderr specified without argument */ -- cgit v1.2.3