help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Defining a Class based on ShellCommand Output or No Output


From: Martin, Jason H
Subject: RE: Defining a Class based on ShellCommand Output or No Output
Date: Thu, 4 Aug 2005 14:07:01 -0700

You use netstat -an|grep LISTEN to see if port 898 is open intead of
nmap.
You can also use the ExecResult and RegCmp statements to get that data,
although a ReturnsZero is probably more direct.

-Jason Martin


-----Original Message-----
From: help-cfengine-bounces+jason.h.martin=cingular.com@gnu.org
[mailto:help-cfengine-bounces+jason.h.martin=cingular.com@gnu.org]On
Behalf Of Brian E. Seppanen
Sent: Thursday, August 04, 2005 12:39 PM
To: help-cfengine@gnu.org
Subject: Defining a Class based on ShellCommand Output or No Output


Hi folks:

I'm trying to define a test that will turn off the solaris management 
console on a large number of servers (Solaris 8 and Solaris 9).  after 
patching solaris servers smc is always re-enabled.  The question of 
whether it should be installed in the first place is beyond the scope of

the question I'm trying to resolve.  It would seem that in the
development 
of smc that it has changed quite a bit.  On smc 2.1 I can use 
(FileExists(/var/run/smc898)) to evaluate a class to shut the service
off 
and then disable /etc/rc2.d/S80wbem.  However, on a solaris 8 host I've 
tried it on it doesn't create /var/run/smc898, and runs as smcboot. 
Another solaris 8 host will run smcboot quickly and then spawn a java 
process.  On Solaris 9 it runs as a java process.  So sometimes the 
process might be visable as smcboot, or it might be a java process.
The 
difference no doubt tied to the smc version rather than the host OS 
version.   Anyways, the one method that should work in the default 
environment on any host OS is to test to see if port 898 is open, if
port 
898 is running then define class to kill the process and disable the
init 
script.   I'd prefer not to involve nmap.

Ultimately I'd rather not create another script that cfengine evaluates 
with ReturnsZero.   Is there some method already available in 
cfengine-2.1.10, cfengine-2.1.13 that will permit you to run a shell 
commands and if you have output activate the class, if you get no output

don't define the class.   What I'd like to do is do somehow take 
/usr/bin/netstat -an | /usr/bin/grep 898, and if I get output shutdown
the 
process, and disable the init script.   If I get no output then no
action 
is required.   As it stands today at a set time I execute 
/etc/init.d/init.wbem stop, but I get a lot of email output for a 
non-convergent action, and so I get that same email from every host
every 
day.

Can someone guide me in the right direction on how to accomplish this. 
I'm hoping I don't need a script.    Perhaps this is what methods or 
modules do...   I just don't know.

Thanks for your help.   My email box will thank you a hundred times
over.

Brian Seppanen
608.826.1464


_______________________________________________
Help-cfengine mailing list
Help-cfengine@gnu.org
http://lists.gnu.org/mailman/listinfo/help-cfengine




reply via email to

[Prev in Thread] Current Thread [Next in Thread]