summaryrefslogtreecommitdiffstats
path: root/ctdb/tools
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/tools')
-rw-r--r--ctdb/tools/ctdb.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c
index ae6438e85c..c9b0d78dcd 100644
--- a/ctdb/tools/ctdb.c
+++ b/ctdb/tools/ctdb.c
@@ -740,7 +740,11 @@ static int control_scriptstatus(struct ctdb_context *ctdb, int argc, const char
return ret;
}
- printf("%d scripts were executed last monitoring cycle\n", script_status->num_scripts);
+ if (options.machinereadable) {
+ printf(":Name:Code:Status:Start:End:Error Output...:\n");
+ } else {
+ printf("%d scripts were executed last monitoring cycle\n", script_status->num_scripts);
+ }
for (i=0; i<script_status->num_scripts; i++) {
const char *status = NULL;
@@ -759,6 +763,18 @@ static int control_scriptstatus(struct ctdb_context *ctdb, int argc, const char
status = "ERROR";
break;
}
+ if (options.machinereadable) {
+ printf("%s:%i:%s:%lu.%06lu:%lu.%06lu:%s:\n",
+ script_status->scripts[i].name,
+ script_status->scripts[i].status,
+ status,
+ (long)script_status->scripts[i].start.tv_sec,
+ (long)script_status->scripts[i].start.tv_usec,
+ (long)script_status->scripts[i].finished.tv_sec,
+ (long)script_status->scripts[i].finished.tv_usec,
+ script_status->scripts[i].output);
+ continue;
+ }
if (status)
printf("%-20s Status:%s ",
script_status->scripts[i].name, status);