Forráskód Böngészése

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=<high number>, 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 <sven@nierlein.de>
Sven Nierlein 10 éve
szülő
commit
3a12034805
1 módosított fájl, 7 hozzáadás és 0 törlés
  1. 7 0
      plugins/check_by_ssh.c

+ 7 - 0
plugins/check_by_ssh.c

@@ -100,6 +100,13 @@ main (int argc, char **argv)
 
 
 	result = cmd_run_array (commargv, &chld_out, &chld_err, 0);
 	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 */
 	if (skip_stdout == -1) /* --skip-stdout specified without argument */
 		skip_stdout = chld_out.lines;
 		skip_stdout = chld_out.lines;
 	if (skip_stderr == -1) /* --skip-stderr specified without argument */
 	if (skip_stderr == -1) /* --skip-stderr specified without argument */