Actually, on furhter testing, it DID work!
It just takes quite a while to show up. I run the client scripts on the standard 5 minute interval, so I gave it two cycles plus (about 12 minutes) during my testing - and nothing showed up in that interval. I walked away and about 25 minutes later came back and found my data in the clientlog. Yeah!
From: Charles Jones [mailto:jonescr at cisco.com] Sent: Friday, June 08, 2007 3:45 PM To: hobbit at hswn.dk Subject: Re: [hobbit] How to run an arbitary script on the client end?
Heh, I'm guessing Henrik included some sort of sanitizing of the log directive so that you couldn't do things like that.
Haertig, David F (Dave) wrote:
Hmmm... Didn't seem to like my first test attempt (see below).
Nothing showed up in my clientlog.
[skmsp01]
file:/var/log/mail_statistics
log:/var/adm/messages:10240
log:/tmp/dirMon.ksh 2>&1 >/tmp/dirMon.log; echo /tmp/dirMon.log
From: Haertig, David F (Dave) [mailto:haertig at avaya.com]
Sent: Friday, June 08, 2007 3:13 PM
To: hobbit at hswn.dk
Subject: RE: [hobbit] How to run an arbitary script on the
client end?
Thanks. Your suggestion triggered an idea on how to do this.
client-local.cfg supports backticks to run a program to generate a
logfile name dynamically. So I'll try to make use of that and do
something like this (haven't tested it yet):
Add to client-local.cfg
================
log:/path/to/the/program 2>&1 1>/path/to/the/logfile; echo /path/to/the/logfile
If this exact syntax won't work, it should be easy to use some
similar concept. The built-in backtick processing of the log: directive
being the key point.
Thanks!
From: Charles Jones [mailto:jonescr at cisco.com]
Sent: Friday, June 08, 2007 2:49 PM
To: hobbit at hswn.dk
Subject: Re: [hobbit] How to run an arbitary script on the
client end?
As far as I know there is no built-in functionality to
dynamically execute remote scripts and get their output. Others may have better suggestions, but one way of doing it, is you could set the client-side script to be launched by the hobbit client every X minutes, (via clientlaunch.cfg). I'm not sure of the best way to get the script output back to the hobbit server though. I guess you could have the script output to a logfile , and then have the hobbit server monitor that log via the normal log monitoring mechanism . -Charles
Haertig, David F (Dave) wrote:
Is there a way to confgure a client, via
client-local.cfg or otherwise, to run some arbitrary command on the client and send it's stdout/stderr back to the hobbit server? I have a few simple shell scripts that exist on some clients that it would be nice to invoke and then read their results on the server end using the "$BBHOME/bin/bb localhost clientlog..." method. Similar to the way a "file:path_to_file" <file:path_to_file> directive will collect a file's metadata? I want something like "runprogram:path_to_program" I am doing this currently using a server-side script that ssh'es to the client machine and runs what it needs. I would rather have the normal Hobbit client collect the data output by the client-side program, upload that, and my server-side script would parse that resulting clientlog rather than going and collecting it's own data. If this is possible. Thanks!