#!/sbin/runscript # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-ftp/proftpd/files/proftpd.initd,v 1.2 2010/07/29 21:50:32 voyageur Exp $ opts="reload" depend() { need net use logger dns mysql postgresql antivirus } check_configuration() { if [ ! -e /etc/proftpd/proftpd.conf ] ; then eerror "To execute the ProFTPD server you need a /etc/proftpd/proftpd.conf configuration" eerror "file. In /etc/proftpd you can find a sample configuration." return 1 fi /usr/sbin/proftpd -t &>/dev/null if [ $? -ne 0 ] ; then eerror "The ProFTPD configuration file /etc/proftpd/proftpd.conf is invalid! You have to" eerror "fix your configuration in order to run the ProFTPD server. For more information" eerror "you may execute the ProFTPD configuration check '/usr/sbin/proftpd -t'." return 2 fi } start() { [ -d /var/run/proftpd ] || mkdir /var/run/proftpd [ "${RC_CMD}" = "restart" ] || check_configuration || return 1 ebegin "Starting ProFTPD" start-stop-daemon --start --quiet \ --exec /usr/sbin/proftpd \ --pidfile /var/run/proftpd/proftpd.pid eend $? } stop() { [ "${RC_CMD}" != "restart" ] || check_configuration || return 1 ebegin "Stopping ProFTPD" start-stop-daemon --stop --quiet --retry 20 \ --pidfile /var/run/proftpd/proftpd.pid eend $? } reload() { if [ ! -f /var/run/proftpd/proftpd.pid ] ; then eerror "ProFTPD is not running." return 1 fi check_configuration || return 1 ebegin "Reloading ProFTPD" kill -HUP `cat /var/run/proftpd/proftpd.pid` &>/dev/null eend $? }