/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
lilel shell script der tjekker om apache k~
Fra : Michael


Dato : 30-09-03 10:51

Jeg har problemer med følgende lille script

if /bin/ps aux | /bin/grep "^apache" ; then
... gør noget
exit;
fi
... gør ikke noget

Hvis jeg kører ps aux | grep ... o.s.v. fra en konsol, så virker det perfekt

men i et script hvor jeg tester ved at lukke alle Apache processor så virker
det ikke.

Nogen der kan guide mig lidt videre?

--
Mvh
Michael



 
 
Michael (30-09-2003)
Kommentar
Fra : Michael


Dato : 30-09-03 11:02

"Michael" <maskinen2000@hotmail.com> wrote in message
news:3f7951ea$0$13236$edfadb0f@dread15.news.tele.dk...
> Jeg har problemer med følgende lille script
>
> if /bin/ps aux | /bin/grep "^apache" ; then
> .. gør noget
> exit;
> fi

Løste det således:

#!/bin/sh
while :; do
abc="`ps aux | grep httpd | wc -c`"
if [ $abc -eq 0 ]; then
/usr/sbin/apachectl start
fi
sleep 20
done

Som jeg kører i baggrunden

Kommentarer til ovenstående er velkomne :)

Mvh
Michael



Thomas Rasmussen (30-09-2003)
Kommentar
Fra : Thomas Rasmussen


Dato : 30-09-03 12:29

On Tue, 30 Sep 2003 12:02:21 +0200, Michael wrote:


> Kommentarer til ovenstående er velkomne :)

Hvorfor vil du overhovedet lave det? Hvad er formålet, og kunne det ikke
løses ved at forsøge at få apache ind under supervice (mener det kan
lade sig gøre)

Mvh
Thomas

Michael (30-09-2003)
Kommentar
Fra : Michael


Dato : 30-09-03 14:11

"Thomas Rasmussen" <simpsons@invalid.kom.auc.dk> wrote in message
news:pan.2003.09.30.11.29.02.174214@invalid.kom.auc.dk...
> On Tue, 30 Sep 2003 12:02:21 +0200, Michael wrote:
>
>
> > Kommentarer til ovenstående er velkomne :)
>
> Hvorfor vil du overhovedet lave det? Hvad er formålet, og kunne det ikke
> løses ved at forsøge at få apache ind under supervice (mener det kan
> lade sig gøre)

Fordi jeg lige har haft en episode hvor apache er stoppet umotiveret på en
maskine stort set uden load eller noget at spore i nogen logfiler.

supervise.. måske.. har ikke prøvet det

nogen der har erfaringer i denne retning?

Mvh
Michael



Claus Alboege (30-09-2003)
Kommentar
Fra : Claus Alboege


Dato : 30-09-03 14:17

"Michael" <maskinen2000@hotmail.com> writes:

> "Thomas Rasmussen" <simpsons@invalid.kom.auc.dk> wrote
>> Hvorfor vil du overhovedet lave det? Hvad er formålet, og kunne det
>> ikke løses ved at forsøge at få apache ind under supervice (mener det
>> kan lade sig gøre)
>
> Fordi jeg lige har haft en episode hvor apache er stoppet umotiveret på
> en maskine stort set uden load eller noget at spore i nogen logfiler.
>
> supervise.. måske.. har ikke prøvet det
>
> nogen der har erfaringer i denne retning?

http://smarden.org/runit/runscripts.html#apache


/Claus A



Thomas D (30-09-2003)
Kommentar
Fra : Thomas D


Dato : 30-09-03 11:06

Michael wrote:
> Jeg har problemer med følgende lille script
>
> if /bin/ps aux | /bin/grep "^apache" ; then
> .. gør noget
> exit;
> fi
> .. gør ikke noget
>
> Hvis jeg kører ps aux | grep ... o.s.v. fra en konsol, så virker det
> perfekt
>
> men i et script hvor jeg tester ved at lukke alle Apache processor så
> virker det ikke.
>
> Nogen der kan guide mig lidt videre?


Erhm...
Svjh så gemmer apache sin PID i en fil.
Hvad med at cat'e den fil og få fat i dens PID og så dræbe dens PID ?

Mvh
Thomas



Jesper Frank Nemholt (30-09-2003)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 30-09-03 17:30


"Thomas D" <merlin@sprex.dk> wrote in message
news:3f79556d$0$139$edfadb0f@dread11.news.tele.dk...
> Michael wrote:
> > Jeg har problemer med følgende lille script
> >
> > if /bin/ps aux | /bin/grep "^apache" ; then
> > .. gør noget
> > exit;
> > fi
> > .. gør ikke noget
> >
> > Hvis jeg kører ps aux | grep ... o.s.v. fra en konsol, så virker det
> > perfekt
> >
> > men i et script hvor jeg tester ved at lukke alle Apache processor så
> > virker det ikke.
> >
> > Nogen der kan guide mig lidt videre?
>
>
> Erhm...
> Svjh så gemmer apache sin PID i en fil.
> Hvad med at cat'e den fil og få fat i dens PID og så dræbe dens PID ?

Jeps, i httpd.conf kan man definere :

PidFile run/httpd.pid

Saa gemmes pid i $HOME/run/httpd.pid

Man kan saa teste om PID eksisterer i /proc med en simpel shell if statement
(det er paenere og koster mindre CPU end at koere ps aux).
Hvis PID eksisterer koerer Apache, hvis ikke saa kan scriptet saa starte
den.

Derudover boer man ogsaa teste om Apache reelt virker ved at lave en get paa
en eller anden side eller koerer apachectl status og have server status
slaaet til.

Eksempel paa simpelt check :

#!/bin/bash
if [ ! -d /proc/`cat $HOME/run/httpd.pid` ]; then
apachectl start
fi


/Jesper



Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408545
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste