aboutsummaryrefslogtreecommitdiff
path: root/network/znc/rc.znc
blob: 16d930ebd97d9623cf196a78dfe71ba957f5dec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh

# Start/stop/restart znc

[ -f /etc/default/znc ] && source /etc/default/znc

ZNC_USER=${ZNC_USER:-@ZNC_USER@}
ZNC_HOME=${ZNC_HOME:-/etc/znc}
ZNC_PIDFILE=${ZNC_PIDFILE:-/run/znc.pid}

if [ ! -e $ZNC_HOME/configs/znc.conf ]; then
  echo "Warning: $ZNC_HOME/configs/znc.conf does not exist."
  echo "You should create a config file by running the following command:"
  echo "  su - $ZNC_USER -c '/usr/bin/znc --makeconf --datadir=$ZNC_HOME'"
  exit 1
fi

znc_start() {
  if [ -e $ZNC_PIDFILE ]; then
    echo "ZNC is already running, or there is a stale pid file at"
    echo "$ZNC_PIDFILE - if you are sure that znc is not already"
    echo "running, then remove the file and try again."
    return 1
  else
    su - $ZNC_USER -c "/usr/bin/znc --datadir $ZNC_HOME"
    echo $$ > $ZNC_PIDFILE
    return 0
  fi
}

znc_stop() {
  killall -SIGINT znc 2>/dev/null
  RETVAL=$?
  if [ $RETVAL -ne 0 ]; then
    echo "ZNC does not appear to be running..."
  else
    rm -f $ZNC_PIDFILE
  fi
  return $RETVAL
}

znc_restart() {
  znc_stop
  sleep 1
  znc_start
}

case $1 in
    start) znc_start ;;
     stop) znc_stop ;;
  restart) znc_restart ;;
        *) echo "Usage: $0 start|stop|restart" ;;
esac

exit $?