[Cluster-devel] cluster/rgmanager/src/resources/utils tomcat-p ...

mgrac at sourceware.org mgrac at sourceware.org
Tue Oct 10 13:56:20 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	mgrac at sourceware.org	2006-10-10 13:56:19

Added files:
	rgmanager/src/resources/utils: tomcat-parse-config.pl 

Log message:
	Script for parsing Tomcat's conf/server.xml

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/resources/utils/tomcat-parse-config.pl.diff?cvsroot=cluster&r1=NONE&r2=1.1

/cvs/cluster/cluster/rgmanager/src/resources/utils/tomcat-parse-config.pl,v  -->  standard output
revision 1.1
--- cluster/rgmanager/src/resources/utils/tomcat-parse-config.pl
+++ -	2006-10-10 13:56:19.990396000 +0000
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+
+##
+##  This script replace IP addresses on which tomcat server
+##  should listen. Tomcat can't listen on every IP because that 
+##  way we can run only on instance. 
+##
+##  Usage: ./tomcat-parse-config.pl ip1 ip2 < /etc/tomcat/server.xml
+##         where ipXX defines an IP address [eg. 127.0.0.1 134.45.11.1]
+##
+##
+use strict;
+
+while (my $line = <STDIN>) {
+	chomp ($line);
+
+	if ($line =~ /(.*?)<Connector (.*)/) {
+		my $tmp = $2;
+		my $content = "<Connector ";
+		my $start = $1;
+		my $rest = "";
+
+		while (($tmp =~ />/) == 0) {
+			$content .= $tmp . "\n";
+			$tmp = <STDIN>;
+			chomp($tmp);
+		}
+
+		if ($tmp =~ /(.*?)>(.*)/) {
+			$content .= $1 . ">\n";
+			$rest = $2;
+			chomp($rest);
+		}
+		
+		print $start;
+		foreach my $arg (@ARGV) {
+			$content =~ s/\s+address=".*?"/ /;
+			$content =~ s/Connector /Connector address="$arg" /;
+			print $content;
+		}
+		print $rest;
+	} else {
+		print $line,"\n";
+	}
+}




More information about the Cluster-devel mailing list