[Nagiosplug-help] Strange problem with Bash, AWK and check_http

Edward Blum eddy.blum at gmail.com
Wed Apr 11 00:01:33 CEST 2012


Hi There,

I am having very strange problems creating a nagios plugin in Bash using
check_http to check contents of a Amazon S3 Bucket.

I am grabbing the URL of the file to grab from a txt file (changes often)
inside the bucket and using awk and grep extracting the Filename.

I have using the following syntax:

check_http -H myhost.com -N -v -u /testing.exe

Now this works fine when I run from the command line it also works fine
when running from the bash script. The problem lies when I try the use the
variable extracted using awk.

Here are the results of running my bash script :

is 135 charactersktdfde.co.uk:80/SetupddfImporter1020.exe<http://charactersktdfde.co.uk/SetupddfImporter1020.exe>
STATUS: HTTP/1.1 400 Bad Request
**** HEADER ****
Transfer-Encoding: chunked
Date: Tue, 10 Apr 2012 21:47:21 GMT
Connection: close
Server: AmazonS3
**** CONTENT ****
  [[ skipped ]]
HTTP WARNING: HTTP/1.1 400 Bad Request - 135 bytes in 0.027 second response
time |time=0.027087s;;;0.000000 size=135B;;;0

Here is what should appear:

http://update.efefktdfde.co.uk:80/SetupddfImporter1020.exe<http://update.efefktdfde.co.uk/SetupddfImporter1020.exe>
is
1460 characters
STATUS: HTTP/1.1 200 OK
**** HEADER ****
x-amz-id-2: lmJo9jgflJdp+ehTirekL19lXFY5KsNJ13UkiSWlNjiWzeYtVJ1OX7VIDZrsMNUJ
x-amz-request-id: 7D72700CDF05E228
Date: Tue, 10 Apr 2012 21:47:13 GMT
x-amz-meta-cb-modifiedtime: Fri, 07 Oct 2011 03:36:32 GMT
Last-Modified: Mon, 24 Oct 2011 20:41:44 GMT
ETag: "ca684ddfa09409f8890e8c92bc68f619"
Accept-Ranges: bytes
Content-Type: application/octet-stream
Content-Length: 6056760
Server: AmazonS3
**** CONTENT ****
  [[ skipped ]]
HTTP OK: HTTP/1.1 200 OK - 1460 bytes in 0.122 second response time
|time=0.122165s;;;0.000000 size=1460B;;;0

In the bash script I am using the syntax:

test=$(cat /tmp/updates.txt | grep ServerFileName | awk
'BEGIN{FS="="}{print $2}' | grep HHR)
command="$check_http -v -N -H update.efefktdfde.co.uk -u"/"$test"

If I just do test=SetupddfImporter1020.exe then call command it works fine,
so I would think its my variable however if I run a If statement to check
if the one generating by the awk command is the same
as  test=SetupddfImporter1020.exe it says they are equal/

This is driving me round the bend, any help would be much appreciated!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-plugins.org/archive/help/attachments/20120410/91e5fd69/attachment.html>


More information about the Help mailing list