.titleBar { margin-bottom: 5px!important; }

Asterisk Autostart unter suse 9.X

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von ralle, 17 Juli 2004.

  1. ralle

    ralle Neuer User

    Registriert seit:
    26 Apr. 2004
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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.
     
  3. ralle

    ralle Neuer User

    Registriert seit:
    26 Apr. 2004
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hä?

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

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


    ....
     
  4. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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.
     
  5. ralle

    ralle Neuer User

    Registriert seit:
    26 Apr. 2004
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  6. ralle

    ralle Neuer User

    Registriert seit:
    26 Apr. 2004
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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]meyer@vosicom.de[/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
     
  7. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    Was macht ihr denn alle ? So ein Script gibt es doch schon längst unter Asterisk Source contribs/scripts Ordner.
     
  8. ralle

    ralle Neuer User

    Registriert seit:
    26 Apr. 2004
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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