Add init script for ArchLinux
[asterisk/asterisk.git] / contrib / init.d / rc.archlinux.asterisk
1 #!/bin/bash
2 #
3 # Start/stop/restart Asterisk PBX
4 #
5 # Version: 0.1 by Sherif Nagy AKA DarKnesS_WolF <sherif.nagy@gmail.com> BASED ON THE SLACKWARE INIT SCRIPT
6 #
7 # 10.10.2008 - Initial Version
8 #
9 . /etc/rc.conf
10 . /etc/rc.d/functions
11
12 case "$1" in
13   start)
14     stat_busy "Starting Asterisk..."
15     if [ -x /usr/sbin/asterisk ]; then
16       # Check if Asterisk is already running.  If it is, then bug out, because
17       # starting safe_asterisk when Asterisk is running is very bad.
18       VERSION=`/usr/sbin/asterisk -rx 'core show version'`
19       if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
20          echo "Asterisk is already running.  $0 will exit now."
21          exit 1
22       fi
23       /usr/sbin/asterisk
24       stat_done
25     fi
26     ;;
27   stop)
28     if [ -r /var/run/asterisk.pid ]; then
29       stat_busy "Stoping Asterisk..."
30       asterisk -rx "core stop now" > /dev/null 2&>1
31       if [ $? -gt 0 ]; then
32         stat_fail
33       else
34         stat_done
35       fi
36     fi
37     ;;
38   restart)
39     $0 stop
40     sleep 2
41     $0 start
42     ;;
43   *)
44     echo "usage $0 start|stop|restart" ;;
45 esac
46 exit 0