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/logfileIf 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" 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!