|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 7
|
problemino con script e cron
so. centos 5.5
ho creato un piccolo script che mi restarta il servizio named se è crashato lo vorrei mettere sotto cron cosi controlla ogni tot tempo lo scirpt è il seguente e si trova in /myscripts/named_auto_restart.sh permessi 777 owner root codice: Codice:
#! /bin/sh count=`service named status | egrep -w "stopped|dead" | wc -l ` if [ $count -ne 0 ] then service named restart fi me lo restarta se è chiuso o dead. funziona come vorrei che funzionasse se lo metto sotto il cron di root ma quando arriva il momento dell'esecuzione ricevo l'email con questo errore: codice: Codice:
/myscripts/named_auto_restart.sh: line 3: service: command not found ![]() cosa sbaglio? grazie mille ps. ho già controllato che il vai a capo sia fatto solo con lf e con cr-lf |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2001
Messaggi: 2289
|
Quote:
inoltre, prova a mettere il path completo di service, e' come se non trovasse il path completo.. ah, metti /bin/bash e non /bin/sh... ciao
__________________
FreeBSD, OpenBSD and GNU/Linux User Free Software Foundation Associate Member proudly member of poco-serio™ team! nella foto son quello simpatico... l'altro e' |Stan| |
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 7
|
il crontab l'ho aggiunto con plesk ogni */3 minuti
ho fatto con il percorso completo e ora funziona Codice:
#! /bin/sh count=`/sbin/service named status | egrep -w "stopped|dead" | wc -l ` if [ $count -ne 0 ] then /sbin/service named restart fi ma mi domando, perché devo usare il path completo se quello dovrebbe essere eseguito dentro una shell? se funziona quando lo faccio io nella shell dovrebbe funzionare anche quando lo fa cron no? a me sembra logico cosi.. (ma non entrerò mai completamente nella logica di linux XD) Ultima modifica di IonutMarius : 27-09-2010 alle 07:01. |
![]() |
![]() |
![]() |
#4 | |||
Senior Member
Iscritto dal: Jan 2001
Messaggi: 2289
|
Quote:
Quote:
![]() Quote:
prova a rimettere lo script com'era prima e a cambiare solo la prima riga sostituendo sh con bash.. ciao
__________________
FreeBSD, OpenBSD and GNU/Linux User Free Software Foundation Associate Member proudly member of poco-serio™ team! nella foto son quello simpatico... l'altro e' |Stan| |
|||
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 7
|
proverò anche ciò
come capisco se la shell che uso è sh o bash? |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jan 2001
Messaggi: 2289
|
Quote:
Codice:
bisco@eva-01 ~ $ echo $SHELL /bin/bash bisco@eva-01 ~ $
__________________
FreeBSD, OpenBSD and GNU/Linux User Free Software Foundation Associate Member proudly member of poco-serio™ team! nella foto son quello simpatico... l'altro e' |Stan| |
|
![]() |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 7
|
eccomi
allora si la shell mi da anche a me bash Codice:
[root@uotf ~]# echo $SHELL /bin/bash Codice:
#! /bin/bash dns_serv=`service named status | egrep -w "stopped|dead" | wc -l ` if [ $dns_serv -ne 0 ] then service named restart echo "$(date):Started named" >>/myscripts/servstatus.log fi ecco il risultato: Codice:
/myscripts/aaa.bash: line 3: service: command not found usero quello completo... |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Ad occhio direi che devi specificare il percorso completo del comando service.
Per trovarlo immediatamente: Codice:
which service
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: Oct 2009
Messaggi: 7
|
si il problema è stato risolto, si discuteva su un altra questione
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:07.