Advertisement
Guest User

Untitled

a guest
Feb 5th, 2015
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.29 KB | None | 0 0
  1. # cat /etc/init.d/asterisk
  2. #!/bin/sh
  3. # $Id: rc.redhat.asterisk 379884 2013-01-22 18:20:38Z bebuild $
  4. #
  5. # asterisk    Starts, Stops and Reloads Asterisk.
  6. #
  7. # chkconfig: 2345 90 60
  8. # description: Asterisk PBX and telephony daemon.
  9. # processname: asterisk
  10. # pidfile: /var/run/asterisk/asterisk.pid
  11. #
  12. # Thu Nov 17 2005 Gregory Boehnlein <damin@nacs.net>
  13. # - Updated Version to 1.3
  14. # - Reversed behavior of LD_ASSUME_KERNEL=2.4.1
  15. # - Added detailed failure messages
  16. #
  17. # Sun Jul 18 2004 Gregory Boehnlein <damin@nacs.net>
  18. # - Updated Version to 1.2
  19. # - Added test for safe_asterisk
  20. # - Verified SIGTERM issued by "killproc" ensures "stop gracefully"
  21. # - Added support for -U and -G command line options
  22. # - Modified "reload" to call asterisk -rx 'reload'
  23.  
  24. ### BEGIN INIT INFO
  25. # Provides:     asterisk
  26. # Required-Start:    $network $syslog $named $local_fs $remote_fs
  27. # Required-Stop:     $network $syslog $named $local_fs $remote_fs
  28. # Should-Start:      dahdi misdn lcr wanrouter mysql postgresql
  29. # Should-Stop:       dahdi misdn lcr wanrouter mysql postgresql
  30. # Default-Start:    2 3 4 5
  31. # Default-Stop:     0 1 6
  32. # Short-Description:    Asterisk PBX
  33. # Description:      the Asterisk Open Source PBX
  34. ### END INIT INFO
  35.  
  36. # Use this option to specify a different configuration directory
  37. #AST_CONFIG=/etc/asterisk
  38.  
  39. # Installation directory
  40. AST_SBIN=/usr/sbin
  41.  
  42. # Source function library.
  43. . /etc/rc.d/init.d/functions
  44.  
  45. if ! [ -x $AST_SBIN/asterisk ] ; then
  46.     echo "ERROR: $AST_SBIN/asterisk not found"
  47.     exit 0
  48. fi
  49.  
  50. if ! [ -d $AST_CONFIG ] ; then
  51.     echo "ERROR: $AST_CONFIG directory not found"
  52.     exit 0
  53. fi
  54.  
  55. # Full path to asterisk binary
  56. DAEMON=$AST_SBIN/asterisk
  57.  
  58. # Full path to safe_asterisk script
  59. SAFE_ASTERISK=$AST_SBIN/safe_asterisk
  60.  
  61. # Allow configuration overrides in /etc/sysconfig/asterisk
  62. CONFIG0=`readlink $0`
  63. if [ "$CONFIG0" = "" ]; then
  64.     CONFIGFILE=/etc/sysconfig/`basename $0`
  65. else
  66.     CONFIGFILE=/etc/sysconfig/`basename $CONFIG0`
  67. fi
  68. [ -r $CONFIGFILE ] && . $CONFIGFILE
  69.  
  70. RETVAL=0
  71.  
  72. start() {
  73.     # Check if Asterisk is already running.  If it is, then bug out, because
  74.     # starting safe_asterisk when Asterisk is running is very bad.
  75.     VERSION=`${AST_SBIN}/asterisk -rx 'core show version' 2>/dev/null`
  76.     if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
  77.         echo "Asterisk is already running."
  78.         exit 0
  79.     fi
  80.  
  81.     # Start daemons.
  82.     echo -n $"Starting asterisk: "
  83.         if [ -f $SAFE_ASTERISK ] ; then
  84.         DAEMON=$SAFE_ASTERISK
  85.     fi
  86.     if [ $AST_USER ] ; then
  87.         ASTARGS="-U $AST_USER"
  88.     fi
  89.     if [ $AST_GROUP ] ; then
  90.         ASTARGS="$ASTARGS -G $AST_GROUP"
  91.     fi
  92.     if [ $AST_CONFIG ]; then
  93.         ASTARGS="$ASTARGS -C $AST_CONFIG/asterisk.conf"
  94.     elif [ $ALTCONF ]; then
  95.         ASTARGS="$ASTARGS -C $ALTCONF"
  96.     fi
  97.     if [ "x$COREDUMP" = "xyes" ]; then
  98.         ASTARGS="$ASTARGS -g"
  99.     fi
  100.     if [ "0$MAXLOAD" -gt "0" ]; then
  101.         ASTARGS="$ASTARGS -L $MAXLOAD"
  102.     fi
  103.     if [ "0$MAXCALLS" -gt "0" ]; then
  104.         ASTARGS="$ASTARGS -M $MAXCALLS"
  105.     fi
  106.     if [ "0$VERBOSITY" -gt "0" ]; then
  107.         for i in `seq 1 $VERBOSITY`; do
  108.             ASTARGS="$ASTARGS -v"
  109.         done
  110.     fi
  111.     if [ "x$INTERNALTIMING" = "xyes" ]; then
  112.         ASTARGS="$ASTARGS -I"
  113.     fi
  114.     if [ "x$TEMPRECORDINGLOCATION" = "xyes" -o "x$TMPRECORDINGLOCATION" = "xyes" ]; then
  115.         ASTARGS="$ASTARGS -t"
  116.     fi
  117.     if [ "x$COLOR" = "xyes" ]; then
  118.         export TERM=linux
  119.         daemon sh -c "$DAEMON $ASTARGS -c" >/dev/null </dev/null 2>&1 &
  120.     else
  121.         daemon $DAEMON $ASTARGS
  122.     fi
  123.     RETVAL=$?
  124.     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk
  125.     echo
  126.     return $RETVAL
  127. }
  128.  
  129. stop() {
  130.     # Stop daemons.
  131.     if [ -f $SAFE_ASTERISK ]; then
  132.         # Kill safe_asterisk first, to prevent us from starting up 2 instances of safe_asterisk
  133.         echo -n $"Stopping safe_asterisk: "
  134.         killproc `basename $SAFE_ASTERISK`
  135.         echo
  136.     fi
  137.     echo -n $"Shutting down asterisk: "
  138.     killproc `basename $DAEMON`
  139.     RETVAL=$?
  140.     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/asterisk
  141.     echo
  142.     return $RETVAL
  143. }
  144.  
  145. restart() {
  146.     stop
  147.     start
  148. }
  149.  
  150. reload() {
  151.     $DAEMON -rx 'module reload' > /dev/null 2> /dev/null
  152. }
  153.  
  154. # See how we were called.
  155. case "$1" in
  156.   start)
  157.     start
  158.     ;;
  159.   stop)
  160.     stop
  161.     ;;
  162.   restart)
  163.     restart
  164.     ;;
  165.   reload)
  166.     reload
  167.     ;;
  168.   condrestart)
  169.     [ -f /var/lock/subsys/asterisk ] && restart || :
  170.     ;;
  171.   status)
  172.     status asterisk
  173.     ;;
  174.   *)
  175.     echo "Usage: asterisk {start|stop|restart|reload|condrestart|status}"
  176.     exit 1
  177. esac
  178.  
  179. exit $?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement