Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PING script faalt via CRON maar niet via commandline

Pagina: 1
Acties:
  • 586 views

  • js303
  • Registratie: April 2003
  • Laatst online: 22-11 12:35
Hallo,

Ik heb een simpel script dat checkt of mijn webserver nog in de lucht is.
Het script werkt goed als ik het direct via de commandline aanroep.
Het geeft netjes aan of de server down is of niet (heb getest met opzettelijk webserver even offline halen en ook met nietbestaande domeinen).

Echter, zodra ik het via een CRON job laat uitvoeren, dan geeft het PING commando in het script ALTIJD een "fail", als ware de webserver down is. Maar de server is op dat moment gewoon online.

Het script wordt uitgevoerd op een locale server die gewoon de webserver kan benaderen.
Iemand enig idee hoe dat kan?

Het script (heb mijn gegevens even vervangen door example.com):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# -----------------------------------------------------------------
# Simple SHELL script for Linux and UNIX system monitoring with ping command
# Source: https://bash.cyberciti.biz/monitoring/monitor-windows-linux-server-with-ping-script/
# -----------------------------------------------------------------

# add ip / hostname separated by white space
HOSTS="example.nl example.com"

# email report when
SUBJECT="[ALERT] Webserver down? Ping failed for one or more domains"
EMAILID="admin@example.com"

COUNT=1
for myHost in $HOSTS
do
  count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  # echo "count is $count"

  if [ "$count" != "$COUNT" ]; then
    # failed
    echo "Warning: Host $myHost is down (ping failed) at $(date)" | mail -s "$SUBJECT" $EMAILID
    echo "Warning: Host $myHost is down!"
  else
    echo "OK: Host $myHost is up :)"
  fi
done


En de CRON job:
code:
1
5 * * * * /usr/local/sbin/pingserver.sh

[ Voor 8% gewijzigd door js303 op 14-07-2016 11:32 ]


  • js303
  • Registratie: April 2003
  • Laatst online: 22-11 12:35
Probleem opgelost.
Bleek dat vanuit de CRON job het PING commando niet kon worden gevonden.

Ik kwam erachter door mijn CRON job output te loggen middels:
code:
1
37 * * * * /usr/local/sbin/pingserver.sh > /var/log/pingserver.log 2>&1


Dmv regel 18 aanpassen van ping naar /sbin/ping werkt het nu:
code:
1
count=$(/sbin/ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 13:00

Koffie

Koffiebierbrouwer

Braaimeneer

Top dat het nu werkt, maar volgende keer graag in het juiste forum plaatsen, die heeft weinig met PNS te maken ;)

Tijd voor een nieuwe sig..


  • pennywiser
  • Registratie: November 2002
  • Laatst online: 13:41
Bekend probleem, de cron user heeft /sbin niet altijd in het pad staan

  • js303
  • Registratie: April 2003
  • Laatst online: 22-11 12:35
Koffie schreef op donderdag 14 juli 2016 @ 11:57:
Top dat het nu werkt, maar volgende keer graag in het juiste forum plaatsen, die heeft weinig met PNS te maken ;)
Oh wat is het juiste forum hiervoor? Ik heb het namelijk juist hierin geplaatst omdat een soortgelijke post hierin stond.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 13:00

Koffie

Koffiebierbrouwer

Braaimeneer

js303 schreef op maandag 18 juli 2016 @ 14:31:
[...]


Oh wat is het juiste forum hiervoor? Ik heb het namelijk juist hierin geplaatst omdat een soortgelijke post hierin stond.
De juiste plek zou Non-Windows Operating Systems zijn :Y)

Tijd voor een nieuwe sig..


  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Als een cron het niet doet terwijl het vanaf je interactieve shell wel werkt, is het 99% de tijd de environment.
Wat ik vaak doe tijdens het debuggen van mijn scripts de environment variabelen wegschrijven naar een file (i.e. gewoon de output van "set"). Als iets niet werkt kan je simpelweg de files diff'en en kijken wat het probleem is.

De actuele opbrengst van mijn Tibber Homevolt


  • RedShift
  • Registratie: Augustus 2003
  • Laatst online: 20-04 21:58
Welke cron software gebruik je? Normaal wordt er een mailtje gestuurd als het commando faalt (exit status > 0) met de output van het commando.

  • Equator
  • Registratie: April 2001
  • Laatst online: 28-11 20:09

Equator

Crew Council

#whisky #barista

Heren, het is al opgelost. Ik sluit het topic om verder doorvragen tegen te gaan.
Pagina: 1

Dit topic is gesloten.