Asterisk Autostart unter suse 9.X

ralle

Neuer User
Mitglied seit
26 Apr 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hallo,

habe mir ein kleines Autostartscript für Asterisk unter suse 9.0 gebastelt und manuell gestrartet , gestoppt ... funzt das ganz prima, doch wenn man das über den Runlevleditor startet, gibt es kein Return bei startproc /usr/sbin/safe_asterisk - wie krieg ich das Problem gelöst?

hier der Code komplett:
Code:
#!/bin/sh
#
# asterisk    This shell script takes care of starting and stopping Asterisk.
#
#!/bin/sh
#
# asterisk    This shell script takes care of starting and stopping Asterisk.
#
#
### BEGIN INIT INFO
# Provides:        Asterisk IP-PBX
# Required-Start:
# Required-Stop:
# Default-Start:   3 5
# Default-Stop:
# Description:     The Astersik IP-PBX
### END INIT INFO

. /etc/rc.status

[ -f /usr/sbin/asterisk ] || exit 0

[ -f /usr/sbin/safe_asterisk ] || exit 0

rc_reset

return=$rc_done

case "$1" in
  start)
        checkproc asterisk && \
        $0 status && rc_exit

        echo -n "Starting asterisk: "
        startproc /usr/sbin/safe_asterisk
        rc_status -v
        ;;
  stop)
        echo -n "Shutting down asterisk: "
        killproc -TERM asterisk
        rc_status -v && rc_exit
        ;;
  status)
        echo -n "Checking for aterisk: "
        checkproc asterisk
        rc_status -v
        ;;
  reload)
        echo -n "Reloading asterisk: "
        /usr/sbin/asterisk -r -x "reload" > /dev/null 2>&1
        rc_status -v
        ;;
  restart)
        $0 stop
        $0 start
        rc_status
        ;;
  *)
        echo "Usage: asterisk {start|stop|restart|reload|status}"
        exit 1
esac

rc_exit

----------------------

Dank und Gruss - ralle
 
was meinst du mit "return" ? Zeilenumbruch?

einfach noch ein "echo" hinzufügen.
"echo -n" macht nämlich Ausgabe ohne Zeilenschaltung (-n)

So wie ich das sehe, einfach hinter rc_status -v ein echo und es sollte tun.
 
Hä?

Mit return meine ich true or false , 1 oder 0 .....

Suse bekommt in dem Fall die Rückmeldung "yup, bin erfolgreich gestartet nicht"


....
 
aso :)

hmm... weiss nicht, wie suse das in den anderen startskripten macht -- aber in du könntest einfach eine kleine überprüfung ob asterisk läuft einbauen nach art
if [`ps aux | grep asterisk | grep -v grep | wc -l` -eq 0]
return = 0;
else
return = 1;
fi

nicht schön, aber sollte tun.
 
Hi,

ja sowas hab ich ja auch schon versucht, doch sobald ich /usr/sbin/safe_asterisk ausführen lasse ist feierabend.....egal was man nun nachträglich noch macht - oder besser versucht - soweit kommt man nicht mehr - obwohl asterisk ja gestartet wurde.

Kurzum ich hab nun einfach /usr/sbin/safe _asterisk in die boot.local eingetragen - geht auch - is nur nicht so komfortabel....

mfg ralle
 
Hallo,

so nun hab ich's doch noch, hier der funktionierende Code:

Code:
#!/bin/sh 
# 
# Description:  This shell script takes care of starting and stopping
# 
# Author: VoSiCom IP-Komunikation - R.Meyer - [email][email protected][/email]
# 
### BEGIN INIT INFO 
# Provides:        Asterisk IP-PBX 
# Required-Start: 
# Required-Stop: 
# Default-Start:   3 5 
# Default-Stop: 
# Description:     The Astersik IP-PBX 
### END INIT INFO 

. /etc/rc.status 

[ -f /usr/sbin/asterisk ] || exit 0 

[ -f /usr/sbin/safe_asterisk ] || exit 0 

rc_reset 

case "$1" in 
  start) 
        checkproc asterisk && \ 
        $0 status && rc_exit 

        echo -n "Starting asterisk: " 
        startproc /usr/sbin/safe_asterisk > /dev/null 2>&1 &
        sleep 2
        rc_status -v 
        ;; 
  stop) 
        echo -n "Shutting down asterisk: " 
        /usr/sbin/asterisk -r -x "stop now" > /dev/null 2>&1
        sleep 2
        rc_status -v && rc_exit 
        ;; 
  status) 
        echo -n "Checking for aterisk: " 
        checkproc asterisk 
        rc_status -v 
        ;; 
  reload) 
        echo -n "Reloading asterisk: " 
        /usr/sbin/asterisk -r -x "reload" > /dev/null 2>&1 || rc_failed
        sleep2 
        rc_status -v 
        ;; 
  restart) 
        $0 stop 
        $0 start 
        rc_status 
        ;; 
  *) 
        echo "Usage: asterisk {start|stop|restart|reload|status}" 
        exit 1 
esac 

rc_exit

wird natürlich unter /etc/rc.d abgelegt und für die entsprechenden Runlevel verlinkt...viel Spass

mfg ralle
 
Was macht ihr denn alle ? So ein Script gibt es doch schon längst unter Asterisk Source contribs/scripts Ordner.
 
Hi,

also für Suse 9.X sehe ich da keins - die anderen (mandrake...) funktionieren ohne entsprechende Anpassung nicht korrekt...

Anpassungen siehe oben :roll:

mfg ralle
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.