Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/sh
- # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany.
- # All rights reserved.
- #
- # Original author: Marius Tomaschewski <[email protected]>
- #
- # Slightly modified in 2003 for use with SuSE Linux 8.1,
- # by http://www.learnlinux.co.uk/
- #
- # Slightly modified in 2005 for use with SuSE Linux 9.2,
- # by Falko Timme
- #
- # /etc/init.d/proftpd
- #
- ### BEGIN INIT INFO
- # Provides: proftpd
- # Required-Start: $network $remote_fs $syslog $named
- # Required-Stop:
- # Default-Start: 3 5
- # Default-Stop: 0 1 2 6
- # Description: Starts ProFTPD server
- ### END INIT INFO
- # Determine the base and follow a runlevel link name.
- base=${0##*/}
- link=${base#*[SK][0-9][0-9]}
- # Force execution if not called by a runlevel directory.
- test $link = $base && START_PROFTPD=yes # Modified by learnlinux.co.uk
- test "$START_PROFTPD" = yes || exit 0 # Modified by learnlinux.co.uk
- # Return values acc. to LSB for all commands but
- # status (see below):
- #
- # 0 - success
- # 1 - generic or unspecified error
- # 2 - invalid or excess argument(s)
- # 3 - unimplemented feature (e.g. "reload")
- # 4 - insufficient privilege
- # 5 - program is not installed
- # 6 - program is not configured
- # 7 - program is not running
- proftpd_cfg="/etc/proftpd.conf"
- proftpd_bin="/usr/local/sbin/proftpd"
- proftpd_pid="/usr/local/var/proftpd.pid"
- [ -r $proftpd_cfg ] || exit 6
- [ -x $proftpd_bin ] || exit 5
- # Source status functions
- . /etc/rc.status
- # First reset status of this service
- rc_reset
- case "$1" in
- start)
- echo -n "Starting ProFTPD Server: "
- test -f /etc/shutmsg && rm -f /etc/shutmsg
- /sbin/startproc $proftpd_bin
- rc_status -v
- ;;
- stop)
- echo -n "Shutting down ProFTPD Server: "
- test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1
- /sbin/killproc -TERM $proftpd_bin
- test -f /etc/shutmsg && rm -f /etc/shutmsg
- rc_status -v
- ;;
- restart)
- ## If first returns OK call the second, if first or
- ## second command fails, set echo return value.
- $0 stop
- $0 start
- rc_status
- ;;
- try-restart)
- ## Stop the service and if this succeeds (i.e. the
- ## service was running before), start it again.
- ## Note: not (yet) part of LSB (as of 0.7.5)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- reload|force-reload)
- ## Exclusive possibility: Some services must be stopped
- ## and started to force a new load of the configuration.
- echo -n "Reload ProFTPD Server: "
- /sbin/killproc -HUP $proftpd_bin
- rc_status -v
- ;;
- status)
- # Status has a slightly different for the status command:
- # 0 - service running
- # 1 - service dead, but /var/run/ pid file exists
- # 2 - service dead, but /var/lock/ lock file exists
- # 3 - service not running
- echo -n "Checking for ProFTPD Server: "
- checkproc $proftpd_bin
- rc_status -v
- ;;
- probe)
- ## Optional: Probe for the necessity of a reload,
- ## give out the argument which is required for a reload.
- [ $proftpd_cfg -nt $proftpd_pid ] && echo reload
- ;;
- *)
- echo "Usage: $0 {start|stop|status|restart|reload|try-restart|probe}"
- exit 1
- ;;
- esac
- # Set an exit status.
- rc_exit
Advertisement
Add Comment
Please, Sign In to add comment