56 lines
1.2 KiB
Bash
56 lines
1.2 KiB
Bash
#!/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 $?
|