summaryrefslogtreecommitdiffstats
path: root/projectroot/etc/init.d/pureftpd
diff options
context:
space:
mode:
Diffstat (limited to 'projectroot/etc/init.d/pureftpd')
-rw-r--r--projectroot/etc/init.d/pureftpd117
1 files changed, 117 insertions, 0 deletions
diff --git a/projectroot/etc/init.d/pureftpd b/projectroot/etc/init.d/pureftpd
new file mode 100644
index 000000000..4d23aec2c
--- /dev/null
+++ b/projectroot/etc/init.d/pureftpd
@@ -0,0 +1,117 @@
+#!/bin/sh
+#
+# /etc/init.d/pure-ftpd
+#
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+# defaults
+DAEMON="pure-ftpd"
+NAME="pure-ftpd"
+PREFIX="pure-ftpd: "
+DAEMON_OPTIONS="-B @DAEMON_ARGS@"
+DAEMON_PIDFILE=/var/run/pure-ftpd.pid
+
+HELPER="pure-uploadscript"
+HELPER_START_SCRIPT="@HELPER_SCRIPT@"
+HELPER_OPTIONS="-B @HELPER_ARGS@"
+
+trap "" 1
+trap "" 15
+
+which $DAEMON || { echo "${PREFIX}$DAEMON not found"; exit; }
+
+
+if [ ! -z $HELPER_START_SCRIPT ] ; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS -o"
+fi
+
+start_helper(){
+ if [ ! -z $HELPER_START_SCRIPT ]; then
+ which $HELPER || { echo "${PREFIX}$HELPER not found"; exit; }
+ echo "${PREFIX}starting upload helper daemon..."
+ $HELPER $HELPER_OPTIONS -r $HELPER_START_SCRIPT
+ else
+ echo "${PREFIX}no upload script defined, skipping"
+ fi
+}
+
+stop_helper(){
+ killall -9 "$HELPER"
+}
+
+start_daemon(){
+ which $DAEMON
+ $DAEMON -g $DAEMON_PIDFILE $DAEMON_OPTIONS
+}
+
+stop_daemon(){
+ if [ -e "$DAEMON_PIDFILE" ]; then
+ kill `cat $DAEMON_PIDFILE`
+ case $? in
+ 0)
+ echo "${PREFIX}$NAME stopped"
+ ;;
+ *)
+ kill -9 `cat $DAEMON_PIDFILE`
+ echo "${PREFIX}failed to stop $NAME - process killed"
+ ;;
+ esac
+ rm -f $DAEMON_PIDFILE
+ echo "${PREFIX}pidfile removed"
+ else
+ echo "${PREFIX}pid file not found - process not running"
+ fi
+}
+
+start(){
+ start_daemon
+ start_helper
+}
+
+stop(){
+ stop_daemon
+ stop_helper
+}
+
+case "$1" in
+ start)
+ echo -n "${PREFIX}starting $NAME: "
+ start
+ echo "done"
+ ;;
+
+ stop)
+ echo -n "${PREFIX}stopping $NAME: "
+ stop
+ echo "done"
+ ;;
+
+ reload)
+ echo -n "${PREFIX}reloading $NAME configuration..."
+ if [ -e "$DAEMON_PIDFILE" ]; then
+ kill -HUP `cat $DAEMON_PIDFILE`
+ echo " done."
+ else
+ echo "pid file not found - process not running"
+ fi
+ ;;
+
+ force-reload|restart)
+ echo -n "${PREFIX}restarting $NAME."
+ stop
+ echo -n "."
+ sleep 2
+ echo -n "."
+ start
+ echo " done."
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload|help}"
+ exit 1
+ ;;
+esac
+
+exit 0
+