|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2005
Messaggi: 374
|
Eseguire uno script in Bash come servizio
Ciao a tutti!
Ho la necessità di eseguire uno script in bash come servizio per poterlo riavviare e fermare a mio piacimento! c'è qualche soluzione in merito? grazie a tutti!
__________________
La ditta PATISCE ma non FALLISCE!!!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1209
|
non l'hai scritto tu lo script in bash vero?
Dovresti implementargli lo start e stop all'interno dello script.. Oppure creare un nuovo script che faccia questo lavoro. Ma dovresti dare piu' dettagli.. tipo come fai partire adesso lo script e come lo fermi adesso.
__________________
...Ordunque... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2003
Città: XenTown - City of paravirtualization c/o Possagno (TV)
Messaggi: 539
|
i demoni normalmente sono script bash che interpretano i parametri start|stop|restart
e attraverso uno case esac istruiscono start-stop-daemon per avviare il programma vero e proprio a seconda della configurazione. ora non so cosa faccia il tuo script ma normalmente per terminare un programma è necessario conoscere il suo pid. un possibile init potrebbe essere questo: Codice:
#!/bin/sh
# init script per MIOSCRIPT
# creato in data 26 settembre 2007
# configurazione
# script da avviare
SCRIPT="/usr/share/mioscript/script.sh"
# descrizione dello script
DESC="descrizione di mioscript.sh"
# log dello script
LOGDIR="/var/log/mioscript"
ERRORLOG="script-error.log"
LOG="script.log"
# pidfile
PIDFILE = "/var/run/script.pid"
# parametri script
SCRIPTOPTION="parametri da passare allo script"
# parametri demone
# - USER = utente proprietario che avvia lo script
# - GROUP = gruppo proprietario che avvia los cript
USER="utente"
GROUP="group"
DAEMONOPTION="--chuid $USER:$GROUP --group $GROUP --umask 0022 \
--nicelevel 0 --user $USER"
# controllo che lo script esista
test -e $SCRIPT || exit 0
# controllo che esista la directory di log
if [ ! -d $LOGDIR ]; then
mkdir -m 755 $LOGDIR
fi
case "$1" in
start)
echo -n "Starting $DESC "
start-stop-daemon --start $DAEMONOPTION --exec $SCRIPT --pidfile \
$PIDFILE --make-pidfile --background -- $SCRIPTOPTION \
> $LOGDIR/LOG 2> $LOGDIR/$ERRORLOG
echo "."
;;
stop)
echo -n "Stopping $DESC"
start-stop-daemon --stop --oknodo --pidfile $PIDFILE
echo "."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usa: $0 {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
questo lo crei in /etc/init.d poi crei un link al runlevel per caricarlo all'avvio: Codice:
ln -s /etc/init.d/startscript.sh /etc/rc2.d/S99startscript
__________________
@Work Samsung 700Z5A-S02 archlinux @CED ESX for debian servers - Mikrotik for networking @Home bastano le ore di pc al lavoro |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Feb 2005
Messaggi: 374
|
Quote:
proverò a breve...!
__________________
La ditta PATISCE ma non FALLISCE!!!! |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2005
Messaggi: 374
|
Quote:
e mo?
__________________
La ditta PATISCE ma non FALLISCE!!!! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:31.




















