Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
mixman
Pingviini kasutaja
Pingviini kasutaja



Liitunud: 20.12.2007
Postitused: 54


estonia.gif
postituspostitatud: 12.07.2009, 13:21  postituse pealkiri:  Lihtne sh script ei toimi  

Tere, selline küsimus, et miks ei toimi mul lihtne sh script ?

Kood:
#!/bin/sh
 
PROCESS_COUNT=$(ps -fu root | grep samp02Xsvr | grep -v grep | wc -l)
case $PROCESS_COUNT in
0) /home/Sysadmin/games/samp/samp02Xsvr &
;;
1) #OK, programm käib ühe protsessiga
;;
*) #OK, programm käib mitme protsessiga
;;
esac


Scripti mõte on siis kontrollida kas samp02Xsvr protsess käib, kui mitte siis käivitab selle.

Proovisin kontrollida käsuga:
[root@web221 samp]# ./kontrollisampi.sh

tulemus:
Tsitaat:
-bash: ./kontrollisampi.sh: /bin/sh^M: bad interpreter: No such file or directory


Milles võib probleem olla?


Distro: Centos 5.3
Kontrollisampi.sh õigused: 755


bobc
Pingviini aktivist
Pingviini aktivist


Vanus: 42
Liitunud: 09.07.2005
Postitused: 165
Asukoht: undef
Distributsioon: SouRCe64 GNU/Linux
estonia.gif
postituspostitatud: 12.07.2009, 13:42  postituse pealkiri:  (teema puudub)  

Kontrolli kas sul ikka sh asub /bin/ kataloogis (võimalik, et on /usr/bin/sh).
SH peaks olema BASH link.
ja miks mitte kasutada:
Kood:

psgrep -u root samp02Xsver

või
Kood:

pidof samp02Xsver

_________________
Image

Sisyphos
Vana Pingviin
Vana Pingviin


Vanus: 61
Liitunud: 24.02.2008
Postitused: 602

Distributsioon: Slackware
estonia.gif
postituspostitatud: 12.07.2009, 14:24  postituse pealkiri:  (teema puudub)  

googel ütles:
Kood:
this is normally caused by one of two things, either having bad line breaks in the script file due to it being edited under windows, or the not having an appropriate call to an interpreter on the first line (ie #!/bin/sh).


windows'i all kirjutatud skript ? Muuda realõpud unix'i omadeks.

_________________
Image

mixman
Pingviini kasutaja
Pingviini kasutaja



Liitunud: 20.12.2007
Postitused: 54


estonia.gif
postituspostitatud: 12.07.2009, 14:30  postituse pealkiri:  (teema puudub)  

Sisyphos kirjutas:
googel ütles:
Kood:
this is normally caused by one of two things, either having bad line breaks in the script file due to it being edited under windows, or the not having an appropriate call to an interpreter on the first line (ie #!/bin/sh).


windows'i all kirjutatud skript ? Muuda realõpud unix'i omadeks.


Tänud, see aitas kasutasin sellist utiili nagu dos2unix. Smile


Üks asi veel selle scriptiga, tahtisn seda panna crontab alla, aga ei taha toimida millegi pärast.

tegin nii
Tsitaat:
crontab -e

mille sisu sai selline
Tsitaat:
41 3 * * * /etc/webmin/cron/tempdelete.pl
*/1 * * * * /home/Sysadmin/games/samp/kontrollisampi.sh >/dev/null 2>&1


Salvestasin ja tegin isegi restardi crontab daemonile, aga tundub et ei toimi, tapsin protsessi samp02Xsvr, aga uuesti tööle ei lähe, kas selle kohta ka ideid on kellegil ?

Käsitsi scripti käivitades toimib küll.


DaStoned
Pingviini aktivist
Pingviini aktivist


Vanus: 42
Liitunud: 11.01.2007
Postitused: 389
Asukoht: Tallinn
Distributsioon: Debian
estonia.gif
postituspostitatud: 12.07.2009, 16:10  postituse pealkiri:  (teema puudub)  

Kas sellel kasutajal, kelle crontabi sa nokkisid, on õigust skripti käiata?

Lisa faili algusesse "MAILTO=sinukasutajanimi" ja ära saada väljundit /dev/null-i. Kui su masinasisene e-post töötab (testida saad käsuga "echo Hello world | mail -s Proovikiri sinukasutajanimi"), siis peaks käsu väljund sulle saadetama (lugeda saad käsuga "mail").

_________________
When the shit hits the fan, keep your mouth shut!

mixman
Pingviini kasutaja
Pingviini kasutaja



Liitunud: 20.12.2007
Postitused: 54


estonia.gif
postituspostitatud: 12.07.2009, 19:40  postituse pealkiri:  (teema puudub)  

DaStoned kirjutas:
Kas sellel kasutajal, kelle crontabi sa nokkisid, on õigust skripti käiata?

Lisa faili algusesse "MAILTO=sinukasutajanimi" ja ära saada väljundit /dev/null-i. Kui su masinasisene e-post töötab (testida saad käsuga "echo Hello world | mail -s Proovikiri sinukasutajanimi"), siis peaks käsu väljund sulle saadetama (lugeda saad käsuga "mail").


Kasutaja on root, seega peaks vist olema õigused ?


Proovisin seda maili asja, tundub et scriptiga ikka mingi kala Sad

Tsitaat:
From root@web221.xxx.xx Sun Jul 12 22:38:01 2009
Date: Sun, 12 Jul 2009 22:38:01 +0300
From: root@web221.xxx.xx (Cron Daemon)
To: root@web221.xxx.xx
Subject: Cron <root@web221> /home/Sysadmin/games/samp/kontrollisampi.sh &
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

/bin/sh: /home/Sysadmin/games/samp/kontrollisampi.sh: /bin/sh^M: bad interpreter: No such file or directory


DaStoned
Pingviini aktivist
Pingviini aktivist


Vanus: 42
Liitunud: 11.01.2007
Postitused: 389
Asukoht: Tallinn
Distributsioon: Debian
estonia.gif
postituspostitatud: 12.07.2009, 23:59  postituse pealkiri:  (teema puudub)  

No kala on see sama mis ennist - realõpud on DOS-i omad.

_________________
When the shit hits the fan, keep your mouth shut!

Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group