Autor |
Sõnum |
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
Niih - oskab keegi soovitada mõnda head lahendust või koodi, mida croniga käima lükata, mis kontrolliks ühe protsessi staatust ja kui protsess on peatunud, siis käivitaks selle uuesti. Midagi, mida võiks croni-ga tööle lasta. Lihtsalt teenusele järjest restarte teha ei taha, kuid kui asi on tõesti seisma jäänud, siis teeks automaatselt teenusele taaskäivituse.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
imre
Vana Pingviin
Liitunud: 16.08.2005
Postitused: 2648
Asukoht: Saku kant
Distributsioon: Ubuntu
|
|
Kood: | #!/bin/bash
teenus=nimi siia
if (( $(ps -ef | grep -v grep | grep $teenus | wc -l) > 0 ))
then
echo "$teenus töötab!"
else
/etc/init.d/$teenus start
fi |
|
|
|
|
_________________ Enne teema püstitamist kasutage OTSINGUT
Küsi targalt: Infot siit!
Kui aru ei saa, siis küsi.
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
Peaaegu töötab. Midagi on IF funktsiooniga nagu näha viga, sest ta teatab mulle kogu aeg, et teenus töötab:
Panin teenuse seisma ja kontrollisin, et tõesti seisab:
root@erp:~# ps -ef | grep -v grep | grep openerp | wc -l
0
käivitasin skripti:
root@erp:~# ./openerptest.sh
openerp töötab!
kuid tegelikult teenus tööle ei läinud ja käivitasin selle käsitsi
root@erp:~# /etc/init.d/openerp start
Starting openerp-server: openerp-server.
Nüüd kontrollisin veel üle, et mis staatuse ta nüüd annab.
root@erp:~# ps -ef | grep -v grep | grep openerp | wc -l
4
root@erp:~#
EDIT: oma ajuga muutsin skripti ja panin lõppu = 0 ja nüüd tuleb järgmine veateade, kuid vähemalt käivitab kuid seda kogu aeg - isegi kui teenus juba töötab:
root@erp:~# ./openerptest.sh
./openerptest.sh: line 4: ((: 2 = 0 : attempted assignment to non-variable (error token is "= 0 ")
Starting openerp-server: openerp-server.
root@erp:~# ps -ef | grep -v grep | grep openerp | wc -l
1
root@erp:~# ./openerptest.sh
./openerptest.sh: line 4: ((: 5 = 0 : attempted assignment to non-variable (error token is "= 0 ")
Starting openerp-server: openerp-server.
root@erp:~#
EDIT2: minuviga - oleks pidanud panema == sinna > asemele. Kuid ikka ta ei saa õigest staatusest aru.
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
mihkel
Vana Pingviin
Liitunud: 16.04.2006
Postitused: 1284
Distributsioon: Fedora/Centos
|
|
|
|
imre
Vana Pingviin
Liitunud: 16.08.2005
Postitused: 2648
Asukoht: Saku kant
Distributsioon: Ubuntu
|
|
Kood: | imre@fusi:~$ ps aux | grep apache2
imre 22764 0.0 0.0 13752 976 pts/1 S+ 19:52 0:00 grep --color=auto apache2
imre@fusi:~$ sudo ./protsess
apache2 ei tööta - käivitan
* Starting web server apache2
*
imre@fusi:~$ |
Minul see töötab küll...
|
|
|
|
_________________ Enne teema püstitamist kasutage OTSINGUT
Küsi targalt: Infot siit!
Kui aru ei saa, siis küsi.
|
|
|
|
obundra
Vana Pingviin
Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
|
|
Spott, ära pane skripti nimesse sellesama teenuse nime, mida kontrollida tahad, ta ju protsessidest grepib seda.
|
|
|
|
_________________ IT teenused
|
|
|
|
chris
Pingviini aktivist
Liitunud: 16.02.2009
Postitused: 146
Asukoht: Tallinn
Distributsioon: Debian 6.0/7.0
|
|
imre kirjutas: | Kood: | #!/bin/bash
teenus=nimi siia
if (( $(ps -ef | grep -v grep | grep $teenus | wc -l) > 0 ))
then
echo "$teenus töötab!"
else
/etc/init.d/$teenus start
fi | |
Programm pgrep võimaldab asja natuke lühemalt kirja panna:
Kood: | #!/bin/bash
teenus=protsessi nimi siia
if pgrep "$teenus" > /dev/null; then
echo "$teenus töötab!"
else
"/etc/init.d/$teenus" start
# Tulevikus peab vist kirjutama nii:
#servicectl "$teenus" start
fi |
Pgrep tahab parameetriks protsessi nime ja väljastab kõigi selle nimega protsesside ID-d. Pgrep tagastab nulli, kui protsess(e) leiti ja 1 siis, kui ei leitud.
|
|
|
|
|
|
|
|
spott
Admin
Vanus: 43
Liitunud: 04.06.2005
Postitused: 8857
Distributsioon: Ubuntu
|
|
obundra kirjutas: | Spott, ära pane skripti nimesse sellesama teenuse nime, mida kontrollida tahad, ta ju protsessidest grepib seda. |
- nii labane viga oligi
|
|
|
|
_________________ Tellige endale sünnipäevaks, sõbrapäevaks või muuks tähtpäevaks kingitus: Kingitused internetist - NetiKink.eu
|
|
|
|
|