Newsgroup: it.comp.os.linux.iniziare
Titolo: Startup script

Ciao a tutti,
vorrei far partire uno script alla partenza della macchina (Red Hat 7).
Lo script è costruito secondo lo skeleton corretto (lanciato manualmente
funziona).
Ho messo lo script nella directory /etc/init.d. Ho creato il link
simbolico nella directory /etc/rc3.d con il nome S99xxxxx
Al reboot della macchina tale script non è però eseguito.
Qualcuno ha dei suggerimenti?
Grazie in anticipo.
Marco

Al reboot della macchina tale script non è però eseguito.
]zac[

 
Il servizio manualmente funziona.
Ho lanciato linuxconf ma non so in che punto controllare la
configurazione dei servizi.
Dove posso guardare?
Marco

Dove posso guardare?
Che distribuzione hai?
Comunque cerca qualcosa che suona come services control, fai un bel giro sui
vari menu, sono una marea ma in cinque minuti te la cavi.
Salve
           Dbg

 
La distribuzione è RedHat 7.0.
Lanciando linuxconf sono andato sul tab Control ed ho scelto l'opzione
Control service activity.
Qui vedo l'elenco dei servizi della mia macchina. Quello da me creato
non c'è però.
Per configurare uno script che parta allo startup da quanto ho letto
dovrebbero essere sufficienti
le operazioni che ho fatto (mettere lo script sotto /etc/init.d e creare
il link in /etc/rc3.d,
il tutto con gli opportuni permessi).
O forse è necessario modificare anche qualche file di configurazione?
Ciao,
Marco

il tutto con gli opportuni permessi).
]zac[
Non e' che tu usi un altro run level? magari il 5 perche' avvi anche
l'interfaccia grafica?
Salve
           Dbg

]zac[
Il percorso dovrebbe essere /etc/rc.d/init.d e /etc/rc.d/rc3.d.

 Il percorso dovrebbe essere /etc/rc.d/init.d e /etc/rc.d/rc3.d.
In effetti il percorso è quello.
Per quanto riguarda il run level ho pure provato a mettere il link in
ognuno delle directory rcX.d
ma senza ottenere nessun risultato.
Marco

ma senza ottenere nessun risultato.
A meno che non hai preso qualche cantonata da qualche parte, rimane solo lo
script non fatto bene, posta il contenuto dello script.
Salve
              Dbg

 
Ecco lo script:
#!/bin/sh
JAVA_HOME=/opt/jdk1.3.0_02
NMR_HOME=/svil/nmr
export JAVA_HOME NMR_HOME
# See how we were called.
case "$1" in
  start)
	rm -f $NMR_HOME/bin/agent.pid
	echo -n "Starting NMR Agent: "
	$JAVA_HOME/bin/java -classpath
.:$NMR_HOME/lib/nmr.jar:$NMR_HOME/lib/jsdt.jar -Dhomedir=$NMR_HOME
nmr.agent.Agent &
	pid=$!
	echo "Started NMR Agent as pid = $pid"
	echo $pid > $NMR_HOME/bin/agent.pid
	echo
	;;
  stop)
	pid=`cat $NMR_HOME/bin/agent.pid`
	echo -n "Shutting down NMR Agent: "
	/bin/kill $pid
	echo -n "NMR Agent stopped"
	rm -f $NMR_HOME/bin/agent.pid
	echo
	;;
  *)
	echo "Usage: nmragent {start|stop}"
	exit 1
esac
exit 0

exit 0

 ......
Ho copiato il tuo script in /etc/rc.d/init.d/ ed lanciando linuxconf ho
notato che lo vedeva.
Ho iniziato quindi a modificarlo in modo da accogliere i miei comandi ed
ora funziona.
Ho provato più volte a verificare qual'era il problema ed ho notato che
anche il tuo script
non funziona senza le due seguenti righe:
# chkconfig: - 87 00
# description: Runs the ODBC server OpenLink
Potresti spiegare a cosa servono?
chkconfig e description fanno forse parte di una sintassi predefinita?
Ciao e grazie mille!
Marco

De nadia, mistero risolto.
Scrivi man chkconfig avrai buone spiegazioni.
chkconfig:
la prima parte dice in quale run level va' inserito il servizio, la seconda
parte gli dice che livello di priorita di avvio deve avere il servizio, la
terza parte gli dice che priorita' deve avere l'arresto del servizio (00
vuol dire nessuna procedura di arresto).
description:
E' la descrizione del servizio, e' quella che ti compare in linuxconf o
altri tools.
Salve dbg
Marco Sala ha scritto nel messaggio
]zac[
