cvsextras 59a0b03
#!/bin/sh
cvsextras 59a0b03
#
cvsextras 59a0b03
# proftpd	This shell script takes care of starting and stopping
cvsextras 59a0b03
#		proftpd.
cvsextras 59a0b03
#
cvsextras 59a0b03
# chkconfig: - 80 30
ce550a8
# description: ProFTPd is an enhanced FTP server with a focus towards \
cvsextras 59a0b03
#              simplicity, security, and ease of configuration. \
cvsextras 59a0b03
#              It features a very Apache-like configuration syntax, \
cvsextras 59a0b03
#              and a highly customizable server infrastructure, \
cvsextras 59a0b03
#              including support for multiple 'virtual' FTP servers, \
cvsextras 59a0b03
#              anonymous FTP, and permission-based directory visibility.
cvsextras 59a0b03
# processname: proftpd
cvsextras 59a0b03
# config: /etc/proftp.conf
cvsextras 59a0b03
# pidfile: /var/run/proftpd.pid
cvsextras 59a0b03
ce550a8
### BEGIN INIT INFO
ce550a8
# Provides: proftpd ftpserver
ce550a8
# Required-Start: $local_fs $network $named $remote_fs
ce550a8
# Required-Stop: $local_fs $network $named $remote_fs
ce550a8
# Short-Description: ProFTPd FTP Server
ce550a8
# Description: ProFTPd is an enhanced FTP server with a focus towards
ce550a8
#	simplicity, security, and ease of configuration.
ce550a8
#	It features a very Apache-like configuration syntax,
ce550a8
#	and a highly customizable server infrastructure,
ce550a8
#	including support for multiple 'virtual' FTP servers,
ce550a8
#	anonymous FTP, and permission-based directory visibility.
ce550a8
### END INIT INFO
ce550a8
cvsextras 59a0b03
# Source function library.
cvsextras 59a0b03
. /etc/rc.d/init.d/functions
cvsextras 59a0b03
cvsextras 59a0b03
# Source networking configuration.
cvsextras 59a0b03
. /etc/sysconfig/network
cvsextras 59a0b03
f76d2e2
# Source ProFTPD configuration.
f76d2e2
PROFTPD_OPTIONS=""
f76d2e2
if [ -f /etc/sysconfig/proftpd ]; then
f76d2e2
	. /etc/sysconfig/proftpd
f76d2e2
fi
f76d2e2
cvsextras 59a0b03
# Check that networking is up.
f76d2e2
[ ${NETWORKING} = "no" ] && exit 1
cvsextras 59a0b03
f76d2e2
[ -x /usr/sbin/proftpd ] || exit 5
cvsextras 59a0b03
cvsextras 59a0b03
RETVAL=0
cvsextras 59a0b03
01a24d4
prog="proftpd"
cvsextras 59a0b03
cvsextras 59a0b03
start() {
01a24d4
	echo -n $"Starting $prog: "
f76d2e2
	daemon proftpd $PROFTPD_OPTIONS 2>/dev/null
cvsextras 59a0b03
	RETVAL=$?
cvsextras 59a0b03
	echo
cvsextras 59a0b03
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
cvsextras 59a0b03
}
cvsextras 59a0b03
cvsextras 59a0b03
stop() {
01a24d4
	echo -n $"Shutting down $prog: "
cvsextras 59a0b03
	killproc proftpd
cvsextras 59a0b03
	RETVAL=$?
cvsextras 59a0b03
	echo
cvsextras 59a0b03
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
cvsextras 59a0b03
}
cvsextras 59a0b03
cvsextras 59a0b03
# See how we were called.
cvsextras 59a0b03
case "$1" in
cvsextras 59a0b03
  start)
cvsextras 59a0b03
	start
cvsextras 59a0b03
	;;
cvsextras 59a0b03
  stop)
cvsextras 59a0b03
	stop
cvsextras 59a0b03
	;;
cvsextras 59a0b03
  status)
cvsextras 59a0b03
	status proftpd
cvsextras 59a0b03
	RETVAL=$?
cvsextras 59a0b03
	;;
cvsextras 59a0b03
  restart)
cvsextras 59a0b03
	stop
cvsextras 59a0b03
	start
cvsextras 59a0b03
	;;
ce550a8
  try-restart|condrestart)
cvsextras 59a0b03
	if [ -f /var/lock/subsys/proftpd ]; then
cvsextras 59a0b03
	  stop
cvsextras 59a0b03
	  start
cvsextras 59a0b03
	fi
cvsextras 59a0b03
	;;
ce550a8
  reload|force-reload)
01a24d4
	echo -n $"Re-reading $prog configuration: "
cvsextras 59a0b03
	killproc proftpd -HUP
cvsextras 59a0b03
	RETVAL=$?
cvsextras 59a0b03
	echo
cvsextras 59a0b03
	;;
cvsextras 59a0b03
  *)
ce550a8
	echo "Usage: $prog {start|stop|restart|try-restart|reload|status}"
ce550a8
	exit 2
cvsextras 59a0b03
esac
cvsextras 59a0b03
cvsextras 59a0b03
exit $RETVAL