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
01d405b
# 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
3019c11
# config: /etc/proftpd.conf
f757bcc
# pidfile: /var/run/proftpd/proftpd.pid
cvsextras 59a0b03
01d405b
### BEGIN INIT INFO
01d405b
# Provides: proftpd ftpserver
01d405b
# Required-Start: $local_fs $network $named $remote_fs
01d405b
# Required-Stop: $local_fs $network $named $remote_fs
ec00906
# Default-Stop: 0 1 6
01d405b
# Short-Description: ProFTPd FTP Server
01d405b
# Description: ProFTPd is an enhanced FTP server with a focus towards
01d405b
#	simplicity, security, and ease of configuration.
01d405b
#	It features a very Apache-like configuration syntax,
01d405b
#	and a highly customizable server infrastructure,
01d405b
#	including support for multiple 'virtual' FTP servers,
01d405b
#	anonymous FTP, and permission-based directory visibility.
01d405b
### END INIT INFO
01d405b
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
1f47ac5
# Source ProFTPD configuration.
1f47ac5
PROFTPD_OPTIONS=""
1f47ac5
if [ -f /etc/sysconfig/proftpd ]; then
1f47ac5
	. /etc/sysconfig/proftpd
1f47ac5
fi
1f47ac5
cvsextras 59a0b03
# Check that networking is up.
1f47ac5
[ ${NETWORKING} = "no" ] && exit 1
cvsextras 59a0b03
1f47ac5
[ -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: "
1f47ac5
	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
	;;
01d405b
  try-restart|condrestart)
cvsextras 59a0b03
	if [ -f /var/lock/subsys/proftpd ]; then
cvsextras 59a0b03
	  stop
cvsextras 59a0b03
	  start
cvsextras 59a0b03
	fi
cvsextras 59a0b03
	;;
01d405b
  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
  *)
01d405b
	echo "Usage: $prog {start|stop|restart|try-restart|reload|status}"
01d405b
	exit 2
cvsextras 59a0b03
esac
cvsextras 59a0b03
cvsextras 59a0b03
exit $RETVAL