[SCM] CTDB repository - branch master updated - ctdb-1.0.113-2-g037e64e

Ronnie Sahlberg sahlberg at samba.org
Thu Jan 14 21:58:57 MST 2010


The branch, master has been updated
       via  037e64e1900f09e699d5fce50df2850f26f47f91 (commit)
       via  c79c2da69bc352f509e7fca4b9172a4b7f23c0f8 (commit)
      from  4bcb07c412260147cd926452287885d05b2344c1 (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 037e64e1900f09e699d5fce50df2850f26f47f91
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Jan 15 16:01:51 2010 +1100

    document the in-memory ringbuffer for logging and the commands
    used to set it up and manage it.

commit c79c2da69bc352f509e7fca4b9172a4b7f23c0f8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Jan 15 15:38:56 2010 +1100

    Make the size of the in memory ringbuffer for keeping the recent log messages
    configureable using --log-ringbuf-size=<num-entries>.
    
    Add an entry in the sysconfig file to set this persistently.

-----------------------------------------------------------------------

Summary of changes:
 common/ctdb_logging.c  |   25 ++-
 config/ctdb.init       |    1 +
 config/ctdb.sysconfig  |    7 +
 doc/ctdb.1             |  501 ++++++++++++++++++++---------------------------
 doc/ctdb.1.html        |  157 ++++++++-------
 doc/ctdb.1.xml         |   24 +++
 doc/ctdbd.1            |   17 ++-
 doc/ctdbd.1.html       |   97 ++++++----
 doc/ctdbd.1.xml        |   28 +++
 include/ctdb_private.h |    4 +
 server/ctdbd.c         |    1 +
 11 files changed, 454 insertions(+), 408 deletions(-)


Changeset truncated at 500 lines:

diff --git a/common/ctdb_logging.c b/common/ctdb_logging.c
index 64507f4..ea4d271 100644
--- a/common/ctdb_logging.c
+++ b/common/ctdb_logging.c
@@ -24,7 +24,8 @@
 #include "../include/ctdb_private.h"
 #include "../include/ctdb.h"
 
-#define MAX_LOG_ENTRIES 500000
+int log_ringbuf_size;
+
 #define MAX_LOG_SIZE 128
 
 static int first_entry;
@@ -37,7 +38,7 @@ struct ctdb_log_entry {
 };
 
 
-static struct ctdb_log_entry log_entries[MAX_LOG_ENTRIES];
+static struct ctdb_log_entry *log_entries;
 
 /*
  * this function logs all messages for all levels to a ringbuffer
@@ -46,6 +47,14 @@ static void log_ringbuffer_v(const char *format, va_list ap)
 {
 	int ret;
 
+	if (log_entries == NULL && log_ringbuf_size != 0) {
+		/* Hope this works. We cant log anything if it doesnt anyway */
+		log_entries = malloc(sizeof(struct ctdb_log_entry) * log_ringbuf_size);
+	}
+	if (log_entries == NULL) {
+		return;
+	}
+
 	log_entries[last_entry].message[0] = '\0';
 
 	ret = vsnprintf(&log_entries[last_entry].message[0], MAX_LOG_SIZE, format, ap);
@@ -57,13 +66,13 @@ static void log_ringbuffer_v(const char *format, va_list ap)
 	log_entries[last_entry].t = timeval_current();
 
 	last_entry++;
-	if (last_entry >= MAX_LOG_ENTRIES) {
+	if (last_entry >= log_ringbuf_size) {
 		last_entry = 0;
 	}
 	if (first_entry == last_entry) {
 		first_entry++;
 	}
-	if (first_entry >= MAX_LOG_ENTRIES) {
+	if (first_entry >= log_ringbuf_size) {
 		first_entry = 0;
 	}
 }
@@ -100,9 +109,13 @@ static void ctdb_collect_log(struct ctdb_context *ctdb, struct ctdb_get_log_addr
 		struct tm *tm;
 		char tbuf[100];
 
+		if (log_entries == NULL) {
+			break;
+		}
+
 		if (log_entries[tmp_entry].level > log_addr->level) {
 			tmp_entry++;
-			if (tmp_entry >= MAX_LOG_ENTRIES) {
+			if (tmp_entry >= log_ringbuf_size) {
 				tmp_entry = 0;
 			}
 		 	continue;
@@ -116,7 +129,7 @@ static void ctdb_collect_log(struct ctdb_context *ctdb, struct ctdb_get_log_addr
 		}
 
 		tmp_entry++;
-		if (tmp_entry >= MAX_LOG_ENTRIES) {
+		if (tmp_entry >= log_ringbuf_size) {
 			tmp_entry = 0;
 		}
 	}
diff --git a/config/ctdb.init b/config/ctdb.init
index 2e25cf1..96ffb1e 100755
--- a/config/ctdb.init
+++ b/config/ctdb.init
@@ -102,6 +102,7 @@ build_ctdb_options () {
     maybe_set "--no-lmaster"             "$CTDB_CAPABILITY_LMASTER"   "no"
     maybe_set "--lvs --single-public-ip" "$CTDB_LVS_PUBLIC_IP"
     maybe_set "--script-log-level"       "$CTDB_SCRIPT_LOG_LEVEL"
+    maybe_set "--log-ringbuf-size"       "$CTDB_LOG_RINGBUF_SIZE"
     maybe_set "--syslog"                 "$CTDB_SYSLOG"               "yes"
     maybe_set "--max-persistent-check-errors" "$CTDB_MAX_PERSISTENT_CHECK_ERRORS"
 }
diff --git a/config/ctdb.sysconfig b/config/ctdb.sysconfig
index bc31001..68d0bf6 100644
--- a/config/ctdb.sysconfig
+++ b/config/ctdb.sysconfig
@@ -208,6 +208,13 @@ CTDB_DEBUGLEVEL=ERR
 # "-1" means wait forever.
 # CTDB_MAX_PERSISTENT_CHECK_ERRORS=0
 
+# All log entries up to level 9 are also collected into a in-memory ringbuffer
+# in addition to the log that is written to the log file.
+# This parameter controls how many entries we allow for this in memory log
+# CTDB_LOG_RINGBUF_SIZE=500000
+
+# 
+#
 # set any default tuning options for ctdb
 # use CTDB_SET_XXXX=value where XXXX is the name of the tuning
 # variable
diff --git a/doc/ctdb.1 b/doc/ctdb.1
index b539d28..0c72fe7 100644
--- a/doc/ctdb.1
+++ b/doc/ctdb.1
@@ -1,182 +1,167 @@
-'\" t
 .\"     Title: ctdb
-.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
-.\" Generator: DocBook XSL Stylesheets v1.75.1 <http://docbook.sf.net/>
-.\"      Date: 12/09/2009
+.\"    Author: 
+.\" Generator: DocBook XSL Stylesheets v1.73.2 <http://docbook.sf.net/>
+.\"      Date: 01/15/2010
 .\"    Manual:  
 .\"    Source:  
-.\"  Language: English
 .\"
-.TH "CTDB" "1" "12/09/2009" "" ""
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
+.TH "CTDB" "1" "01/15/2010" "" ""
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 .ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
 .SH "NAME"
-ctdb \- clustered tdb database management utility
+ctdb - clustered tdb database management utility
 .SH "SYNOPSIS"
-.HP \w'\fBctdb\ [\ OPTIONS\ ]\ COMMAND\ \&.\&.\&.\fR\ 'u
-\fBctdb [ OPTIONS ] COMMAND \&.\&.\&.\fR
-.HP \w'\fBctdb\fR\ 'u
+.HP 29
+\fBctdb [ OPTIONS ] COMMAND \.\.\.\fR
+.HP 5
 \fBctdb\fR [\-n\ <node>] [\-Y] [\-t\ <timeout>] [\-T\ <timelimit>] [\-?\ \-\-help] [\-\-usage] [\-d\ \-\-debug=<INTEGER>] [\-\-socket=<filename>]
 .SH "DESCRIPTION"
 .PP
-ctdb is a utility to view and manage a ctdb cluster\&.
+ctdb is a utility to view and manage a ctdb cluster\.
 .SH "OPTIONS"
 .PP
 \-n <pnn>
 .RS 4
-This specifies the physical node number on which to execute the command\&. Default is to run the command on the deamon running on the local host\&.
+This specifies the physical node number on which to execute the command\. Default is to run the command on the deamon running on the local host\.
 .sp
-The physical node number is an integer that describes the node in the cluster\&. The first node has physical node number 0\&.
+The physical node number is an integer that describes the node in the cluster\. The first node has physical node number 0\.
 .RE
 .PP
 \-Y
 .RS 4
-Produce output in machine readable form for easier parsing by scripts\&. Not all commands support this option\&.
+Produce output in machine readable form for easier parsing by scripts\. Not all commands support this option\.
 .RE
 .PP
 \-t <timeout>
 .RS 4
-How long should ctdb wait for the local ctdb daemon to respond to a command before timing out\&. Default is 3 seconds\&.
+How long should ctdb wait for the local ctdb daemon to respond to a command before timing out\. Default is 3 seconds\.
 .RE
 .PP
 \-T <timelimit>
 .RS 4
-A limit on how long the ctdb command will run for before it will be aborted\&. When this timelimit has been exceeded the ctdb command will terminate\&.
+A limit on how long the ctdb command will run for before it will be aborted\. When this timelimit has been exceeded the ctdb command will terminate\.
 .RE
 .PP
 \-? \-\-help
 .RS 4
-Print some help text to the screen\&.
+Print some help text to the screen\.
 .RE
 .PP
 \-\-usage
 .RS 4
-Print useage information to the screen\&.
+Print useage information to the screen\.
 .RE
 .PP
 \-d \-\-debug=<debuglevel>
 .RS 4
-Change the debug level for the command\&. Default is 0\&.
+Change the debug level for the command\. Default is 0\.
 .RE
 .PP
 \-\-socket=<filename>
 .RS 4
-Specify the socketname to use when connecting to the local ctdb daemon\&. The default is /tmp/ctdb\&.socket \&.
+Specify the socketname to use when connecting to the local ctdb daemon\. The default is /tmp/ctdb\.socket \.
 .sp
-You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket\&.
+You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket\.
 .RE
 .SH "ADMINISTRATIVE COMMANDS"
 .PP
-These are commands used to monitor and administrate a CTDB cluster\&.
+These are commands used to monitor and administrate a CTDB cluster\.
 .SS "pnn"
 .PP
-This command displays the pnn of the current node\&.
+This command displays the pnn of the current node\.
 .SS "status"
 .PP
-This command shows the current status of the ctdb node\&.
+This command shows the current status of the ctdb node\.
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
-.ps +1
-\fBnode status\fR
-.RS 4
+node status
+.RS
 .PP
-Node status reflects the current status of the node\&. There are five possible states:
+Node status reflects the current status of the node\. There are five possible states:
 .PP
-OK \- This node is fully functional\&.
+OK \- This node is fully functional\.
 .PP
-DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster\&. If there is a public IP address associated with this node it should have been taken over by a different node\&. No services are running on this node\&.
+DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster\. If there is a public IP address associated with this node it should have been taken over by a different node\. No services are running on this node\.
 .PP
-DISABLED \- This node has been administratively disabled\&. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted\&.
+DISABLED \- This node has been administratively disabled\. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted\.
 .PP
-UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated\&. The CTDB daemon itself is operational and participates in the cluster\&. Its public IP address has been taken over by a different node and no services are currnetly being hosted\&. All unhealthy nodes should be investigated and require an administrative action to rectify\&.
+UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated\. The CTDB daemon itself is operational and participates in the cluster\. Its public IP address has been taken over by a different node and no services are currnetly being hosted\. All unhealthy nodes should be investigated and require an administrative action to rectify\.
 .PP
-BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds\&. Any public IP address has been taken over by other nodes\&. This node does not provide any services\&. All banned nodes should be investigated and require an administrative action to rectify\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
+BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds\. Any public IP address has been taken over by other nodes\. This node does not provide any services\. All banned nodes should be investigated and require an administrative action to rectify\. This node does not perticipate in the CTDB cluster but can still be communicated with\. I\.e\. ctdb commands can be sent to it\.
 .PP
-STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP\&. A stopped node can not become LVSMASTER, RECMASTER or NATGW\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
+STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP\. A stopped node can not become LVSMASTER, RECMASTER or NATGW\. This node does not perticipate in the CTDB cluster but can still be communicated with\. I\.e\. ctdb commands can be sent to it\.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
-.ps +1
-\fBgeneration\fR
-.RS 4
+generation
+.RS
 .PP
-The generation id is a number that indicates the current generation of a cluster instance\&. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed\&.
+The generation id is a number that indicates the current generation of a cluster instance\. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed\.
 .PP
-This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery\&. It is a random number that represents the current instance of a ctdb cluster and its databases\&. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery\&. After a recovery, all old outstanding commands will automatically become invalid\&.
+This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery\. It is a random number that represents the current instance of a ctdb cluster and its databases\. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery\. After a recovery, all old outstanding commands will automatically become invalid\.
 .PP
-Sometimes this number will be shown as "INVALID"\&. This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery\&. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery\&.
+Sometimes this number will be shown as "INVALID"\. This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery\. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery\.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
-.ps +1
-\fBVNNMAP\fR
-.RS 4
+VNNMAP
+.RS
 .PP
-The list of Virtual Node Numbers\&. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records\&. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record\&.
+The list of Virtual Node Numbers\. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records\. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record\.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
-.ps +1
-\fBRecovery mode\fR
-.RS 4
+Recovery mode
+.RS
 .PP
-This is the current recovery mode of the cluster\&. There are two possible modes:
+This is the current recovery mode of the cluster\. There are two possible modes:
 .PP
-NORMAL \- The cluster is fully operational\&.
+NORMAL \- The cluster is fully operational\.
 .PP
-RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete\&. A recovery process should finish within seconds\&. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated\&.
+RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete\. A recovery process should finish within seconds\. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated\.
 .PP
-Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster\&. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY\&.
+Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster\. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY\.
 .PP
-When CTDBD starts up, it will start in RECOVERY mode\&. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again\&.
+When CTDBD starts up, it will start in RECOVERY mode\. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again\.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
-.ps +1
-\fBRecovery master\fR
-.RS 4
+Recovery master
+.RS
 .PP
-This is the cluster node that is currently designated as the recovery master\&. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired\&.
+This is the cluster node that is currently designated as the recovery master\. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired\.
 .PP
-Only one node at a time can be the designated recovery master\&. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node\&.
+Only one node at a time can be the designated recovery master\. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node\.
 .RE
 .PP
 Example: ctdb status
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
 Number of nodes:4
-pnn:0 11\&.1\&.2\&.200       OK (THIS NODE)
-pnn:1 11\&.1\&.2\&.201       OK
-pnn:2 11\&.1\&.2\&.202       OK
-pnn:3 11\&.1\&.2\&.203       OK
+pnn:0 11\.1\.2\.200       OK (THIS NODE)
+pnn:1 11\.1\.2\.201       OK
+pnn:2 11\.1\.2\.202       OK
+pnn:3 11\.1\.2\.203       OK
 Generation:1362079228
 Size:4
 hash:0 lmaster:0
@@ -187,168 +172,140 @@ Recovery mode:NORMAL (0)
 Recovery master:0
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "recmaster"
 .PP
-This command shows the pnn of the node which is currently the recmaster\&.
+This command shows the pnn of the node which is currently the recmaster\.
 .SS "uptime"
 .PP
-This command shows the uptime for the ctdb daemon\&. When the last recovery or ip\-failover completed and how long it took\&. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago\&.
+This command shows the uptime for the ctdb daemon\. When the last recovery or ip\-failover completed and how long it took\. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago\.
 .PP
 Example: ctdb uptime
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
 Current time of node          :                Thu Oct 29 10:38:54 2009
 Ctdbd start time              : (000 16:54:28) Wed Oct 28 17:44:26 2009
 Time of last recovery/failover: (000 16:53:31) Wed Oct 28 17:45:23 2009
-Duration of last recovery/failover: 2\&.248552 seconds
+Duration of last recovery/failover: 2\.248552 seconds
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "listnodes"
 .PP
-This command shows lists the ip addresses of all the nodes in the cluster\&.
+This command shows lists the ip addresses of all the nodes in the cluster\.
 .PP
 Example: ctdb listnodes
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
-10\&.0\&.0\&.71
-10\&.0\&.0\&.72
-10\&.0\&.0\&.73
-10\&.0\&.0\&.74
+10\.0\.0\.71
+10\.0\.0\.72
+10\.0\.0\.73
+10\.0\.0\.74
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "ping"
 .PP
-This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly\&.
+This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly\.
 .PP
 Example: ctdb ping
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
-response from 0 time=0\&.000054 sec  (3 clients)
-response from 1 time=0\&.000144 sec  (2 clients)
-response from 2 time=0\&.000105 sec  (2 clients)
-response from 3 time=0\&.000114 sec  (2 clients)
+response from 0 time=0\.000054 sec  (3 clients)
+response from 1 time=0\.000144 sec  (2 clients)
+response from 2 time=0\.000105 sec  (2 clients)
+response from 3 time=0\.000114 sec  (2 clients)
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "ip"
 .PP
-This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip\&. By default this command will ONLY show those public addresses that are known to the node itself\&. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all"\&.
+This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip\. By default this command will ONLY show those public addresses that are known to the node itself\. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all"\.
 .PP
 Example: ctdb ip
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
 Number of addresses:4
-12\&.1\&.1\&.1         0
-12\&.1\&.1\&.2         1
-12\&.1\&.1\&.3         2
-12\&.1\&.1\&.4         3
+12\.1\.1\.1         0
+12\.1\.1\.2         1
+12\.1\.1\.3         2
+12\.1\.1\.4         3
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "scriptstatus"
 .PP
-This command displays which scripts where run in the previous monitoring cycle and the result of each script\&. If a script failed with an error, causing the node to become unhealthy, the output from that script is also shown\&.
+This command displays which scripts where run in the previous monitoring cycle and the result of each script\. If a script failed with an error, causing the node to become unhealthy, the output from that script is also shown\.
 .PP
 Example: ctdb scriptstatus
 .PP
 Example output:
 .sp
-.if n \{\
 .RS 4
-.\}
 .nf
 7 scripts were executed last monitoring cycle
-00\&.ctdb              Status:OK    Duration:0\&.056 Tue Mar 24 18:56:57 2009
-10\&.interface         Status:OK    Duration:0\&.077 Tue Mar 24 18:56:57 2009
-11\&.natgw             Status:OK    Duration:0\&.039 Tue Mar 24 18:56:57 2009
-20\&.multipathd        Status:OK    Duration:0\&.038 Tue Mar 24 18:56:57 2009
-31\&.clamd             Status:DISABLED
-40\&.vsftpd            Status:OK    Duration:0\&.045 Tue Mar 24 18:56:57 2009
-41\&.httpd             Status:OK    Duration:0\&.039 Tue Mar 24 18:56:57 2009
-50\&.samba             Status:ERROR    Duration:0\&.082 Tue Mar 24 18:56:57 2009
+00\.ctdb              Status:OK    Duration:0\.056 Tue Mar 24 18:56:57 2009
+10\.interface         Status:OK    Duration:0\.077 Tue Mar 24 18:56:57 2009
+11\.natgw             Status:OK    Duration:0\.039 Tue Mar 24 18:56:57 2009
+20\.multipathd        Status:OK    Duration:0\.038 Tue Mar 24 18:56:57 2009
+31\.clamd             Status:DISABLED
+40\.vsftpd            Status:OK    Duration:0\.045 Tue Mar 24 18:56:57 2009
+41\.httpd             Status:OK    Duration:0\.039 Tue Mar 24 18:56:57 2009
+50\.samba             Status:ERROR    Duration:0\.082 Tue Mar 24 18:56:57 2009
    OUTPUT:ERROR: Samba tcp port 445 is not responding
       
 .fi
-.if n \{\
 .RE
-.\}
 .SS "disablescript <script>"
 .PP


-- 
CTDB repository


More information about the samba-cvs mailing list