]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
add a simple events script to manage vsftpd
authorRonnie Sahlberg <sahlberg@ronnie>
Tue, 5 Jun 2007 08:14:01 +0000 (18:14 +1000)
committerRonnie Sahlberg <sahlberg@ronnie>
Tue, 5 Jun 2007 08:14:01 +0000 (18:14 +1000)
(This used to be ctdb commit 413efc7af529e4ebda6f7ea6e36f79ba72a2d1d9)

ctdb/config/events.d/40.vsftpd [new file with mode: 0755]
ctdb/packaging/RPM/ctdb.spec

diff --git a/ctdb/config/events.d/40.vsftpd b/ctdb/config/events.d/40.vsftpd
new file mode 100755 (executable)
index 0000000..6f48e37
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# event strict to manage vsftpd in a cluster environment
+
+. /etc/ctdb/functions
+loadconfig vsftpd
+
+[ "$CTDB_MANAGES_VSFTPD" = "yes" ] || exit 0
+
+cmd="$1"
+shift
+
+case $cmd in 
+     startup)
+       /bin/mkdir -p /etc/ctdb/state/vsftpd
+
+       # make sure the service is stopped first
+       service vsftpd stop > /dev/null 2>&1
+       service vsftpd start
+       ;;
+
+     shutdown)
+       service vsftpd stop
+       ;;
+
+     takeip)
+       echo "restart" >> /etc/ctdb/state/vsftpd/restart
+       ;;
+
+     releaseip)
+       echo "restart" >> /etc/ctdb/state/vsftpd/restart
+       ;;
+
+     recovered)
+       # if we have taken or released any ips we must 
+       # restart vsftpd to ensure that all tcp connections are reset
+       [ -f /etc/ctdb/state/vsftpd/restart ] && {
+               service vsftpd stop > /dev/null 2>&1
+               service vsftpd start
+       } >/dev/null 2>&1
+
+       /bin/rm -f /etc/ctdb/state/vsftpd/restart
+       ;;
+esac
+
+exit 0
index 500f636566abbf0320843bb41d2aa681186c3230..3f81ecaf7bd54e0db2ef31221d82d01d18c140ed 100644 (file)
@@ -94,6 +94,7 @@ fi
 %{_sysconfdir}/ctdb/events
 %{_sysconfdir}/ctdb/functions
 %{_sysconfdir}/ctdb/events.d/10.interface
+%{_sysconfdir}/ctdb/events.d/40.vsftpd
 %{_sysconfdir}/ctdb/events.d/50.samba
 %{_sysconfdir}/ctdb/events.d/59.nfslock
 %{_sysconfdir}/ctdb/events.d/60.nfs