#!/bin/sh # event strict to manage vsftpd in a cluster environment . $CTDB_BASE/functions service_name="vsftpd" # make sure the service is stopped first service_start="service $service_name stop > /dev/null 2>&1 ; service $service_name start" service_stop="service $service_name stop" service_reconfigure="service $service_name restart" service_fail_limit=2 service_tcp_ports=21 loadconfig ctdb_start_stop_service is_ctdb_managed_service || exit 0 case "$1" in startup) ctdb_service_start ;; shutdown) ctdb_service_stop ;; takeip|releaseip) ctdb_service_set_reconfigure ;; recovered) # if we have taken or released any ips we must # restart vsftpd to ensure that all tcp connections are reset if ctdb_service_needs_reconfigure ; then ctdb_service_reconfigure fi ;; monitor) if ctdb_service_needs_reconfigure ; then ctdb_service_reconfigure exit 0 fi if [ -n "$service_tcp_ports" ] ; then if ctdb_check_tcp_ports $service_tcp_ports ; then ctdb_counter_init else ctdb_counter_incr ctdb_check_counter_limit exit 0 # only count 1 failure per monitor event fi fi ;; *) ctdb_standard_event_handler "$@" ;; esac exit 0