Xymon Mailing List Archive search

Strange issue when using local scripts (in linux)

list Jeremy Laidman
Tue, 4 Aug 2020 10:11:25 +1000
Message-Id: <CACO=ejyaL9eYO0jiB9+wDiCGZRFRHB7Qqmpx9=user-dc5154a5383e@xymon.invalid>

David

Update your script to, display the value of the LANG variable in addition
to the RPM details (perhaps on a separate line), and see if the value
differs between the script output (run from your shell) and the clientlog.

I suspect LANG is set in your shell differently from how it's set in the
xymon user's shell. RPM (or probably glibc) uses LANG to format the date
according to the environment's locale. I'm guessing your shell has LANG set
to something like en_US, whereas the xymon user's LANG is set to something
like C, or is not set at all.

Cheers
Jeremy

On Tue, 4 Aug 2020 at 08:32, David Boyer <user-a6c09f28d9d2@xymon.invalid> wrote:
Hi,
    I've got a strange date issue.  I've written some local scripts to pad
information onto the combo message. Here is the background:

1. When you run the script by hand locally (take note of the date):

[davieb at xymonsvr ~]$ ~xymon/client/local/dateinfo
dhcp-common,4.3.6,18 Jul 2020

2. When I pull the information from xymon server:

[davieb at xymonsvr ~]$ ~xymon/server/bin/xymon localhost "clientlog
xymonsvr section=local:dateinfo"
[local:dateinfo]
dhcp-common,4.3.6,Jul 18 17:44:26


Notice how the date field gets modified?  I can't figure out why. The only
thing I can think of is something within the xymon code, but I don't know
why it would?

Here's the simple script:

[davieb at xymonsvr ~]$ cat ~xymon/client/local/dateinfo
#!/bin/sh

OS=`uname -s`
RPM=dhcp-common

if [ ${OS} = "Linux" ]; then
   VERSION=`rpm -q ${RPM} --qf "%{VERSION}\n"`
   INSTALLED=`rpm -q ${RPM} --qf "%{INSTALLTIME:date}\n"|awk {'print $2"
"$3" "$4'}`
fi

echo "${RPM},${VERSION},${INSTALLED}"

Does anybody have any idea what is going on?

Thanks,
Dave