[Xymon] xymon, xymon-rclient and md5sum checks
    oliver 
    ohemming at gmail.com
       
    Tue Jun  9 21:24:42 CEST 2015
    
    
  
On Thu, Jun 4, 2015 at 10:10 PM, Jeremy Laidman
<jlaidman at rebel-it.com.au> wrote:
> No, it's not using "stat".  Instead, it's using a series of shell commands,
> and in some cases (such as for the "*time" and "group" lines) a bit of perl.
> If you're interested, you can check how it's all done in the
> send_logfetch_file() function (from line 323).  This function essentially
> creates a sequence of commands that get sent to the shell on the remote
> client.
>
> I have no idea why it's not working for Solaris.  But I can confirm that
> it's not working for my Solaris boxes also.  This means I can do some
> testing here and (I hope) come up with a fix.  Sorry I can't offer any more
> at this stage.
I think I see the problem.
Line 310:
echo "if [ \"$FILENAME\" -a -e \"$FILENAME\" ]; then"
If I construct a similar command on a linux box, I get this:
$ [ /etc/sudoers -a -e /etc/sudoers ] && echo hello
hello
but on Solaris, I get this:
$ [ /etc/sudoers -a -e /etc/sudoers ] && echo hello
test: argument expected
I guess you could drop the -e and it will still work for both
linux/solaris or add another 'if' statement.... something like this
(but I'm not sure if this is the best way:)
        if [ "$OSTYPE" = "sunos" ] || [ "$SCRIPTOS" = "sunos" ]; then
          echo "if [ \"$FILENAME\" -a \"$FILENAME\" ]; then"
        else
          echo "if [ \"$FILENAME\" -a -e \"$FILENAME\" ]; then"
        fi
Either way, it's working for me now using the 'if' method - but
Solaris and Linux is all I have.  If there's a better way to do it,
please let me know.
    
    
More information about the Xymon
mailing list