diff --git a/heartbeat/Pure-FTPd.in b/heartbeat/Pure-FTPd.in index de71e040c..76f817ec0 100755 --- a/heartbeat/Pure-FTPd.in +++ b/heartbeat/Pure-FTPd.in @@ -1,206 +1,206 @@ #!/bin/sh # # Resource script for Pure-FTPd # # Description: Manages Pure-FTPd as an OCF resource in # an Active-Passive High Availability setup. # # Author: Rajat Upadhyaya # License: GNU General Public License (GPL) # # # usage: $0 {start|stop|status|monitor|validate-all|meta-data} # # The "start" arg starts Pure-FTPd. # # The "stop" arg stops it. # # OCF parameters: # OCF_RESKEY_script # OCF_RESKEY_conffile # ########################################################################## # Initialization: . @hb_libdir@/ocf-shellfuncs PIDFILE=@HA_VARRUNHBRSCDIR@/pure-ftpd-${OCF_RESOURCE_INSTANCE}.pid USAGE="Usage: $0 {start|stop|status|monitor|validate-all|meta-data}"; ########################################################################## usage() { echo $USAGE >&2 } meta_data() { cat < 1.0 This script manages Pure-FTPd in an Active-Passive setup OCF Resource Agent compliant FTP script. The full path to the Pure-FTPd startup script. For example, "/sbin/pure-config.pl" Script name with full path The Pure-FTPd configuration file name with full path. For example, "/etc/pure-ftpd/pure-ftpd.conf" Configuration file name with full path - END exit $OCF_SUCCESS } isRunning() { kill -0 "$1" > /dev/null } PureFTPd_status() { if [ -f $PIDFILE ] then # Pure-FTPd is probably running PID=`head -n 1 $PIDFILE` if [ ! -z $PID ] ; then isRunning "$PID" && [ `ps -p $PID | grep pure-ftpd | wc -l` -eq 1 ] return $? fi fi # Pure-FTPd is not running false } PureFTPd_start() { # # make a few checks and start Pure-FTPd # if ocf_is_root ; then : ; else ocf_log err "You must be root." exit $OCF_ERR_PERM fi # if Pure-FTPd is running return success if PureFTPd_status ; then exit $OCF_SUCCESS fi if [ -n "$OCF_RESKEY_script" -a -n "$OCF_RESKEY_conffile" ] then $OCF_RESKEY_script $OCF_RESKEY_conffile -g $PIDFILE else ocf_log err "One or more empty arguments" exit $OCF_ERR_GENERIC fi if [ $? -ne 0 ]; then ocf_log info "Pure-FTPd returned error" $? exit $OCF_ERR_GENERIC fi exit $OCF_SUCCESS } PureFTPd_stop() { if PureFTPd_status ; then PID=`head -n 1 $PIDFILE` if [ ! -z $PID ] ; then kill $PID fi fi exit $OCF_SUCCESS } PureFTPd_monitor() { if PureFTPd_status ; then return $OCF_SUCCESS fi return $OCF_NOT_RUNNING } PureFTPd_validate_all() { return $OCF_SUCCESS } # # Main # if [ $# -ne 1 ] then usage exit $OCF_ERR_ARGS fi case $1 in start) PureFTPd_start ;; stop) PureFTPd_stop ;; status) if PureFTPd_status then ocf_log info "Pure-FTPd is running" exit $OCF_SUCCESS else ocf_log info "Pure-FTPd is stopped" exit $OCF_NOT_RUNNING fi ;; monitor) PureFTPd_monitor exit $? ;; validate-all) PureFTPd_validate_all exit $? ;; meta-data) meta_data ;; usage) usage exit $OCF_SUCCESS ;; *) usage exit $OCF_ERR_UNIMPLEMENTED ;; esac