dsdb: Honour LDB_FLG_NOSYNC for metadata.tdb
[samba.git] / ctdb / config / events / legacy / 40.vsftpd
1 #!/bin/sh
2 # event strict to manage vsftpd in a cluster environment
3
4 [ -n "$CTDB_BASE" ] || \
5     CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD")
6
7 . "${CTDB_BASE}/functions"
8
9 service_name="vsftpd"
10
11 service_reconfigure ()
12 {
13     service $service_name restart
14 }
15
16 load_script_options
17
18 ctdb_setup_state_dir "service" "$service_name"
19
20 [ "$CTDB_MANAGES_VSFTPD" = "yes" ] || exit 0
21
22 case "$1" in
23 startup)
24         service "$service_name" stop > /dev/null 2>&1
25         service "$service_name" start
26         ctdb_counter_init
27         ;;
28
29 shutdown)
30         service "$service_name" stop
31         ;;
32
33 takeip|releaseip)
34         ctdb_service_set_reconfigure
35         ;;
36
37 ipreallocated)
38         if ctdb_service_needs_reconfigure ; then
39                 ctdb_service_reconfigure
40         fi
41         ;;
42
43 monitor)
44         if ctdb_check_tcp_ports 21 ; then
45                 ctdb_counter_init
46         else
47                 ctdb_counter_incr
48                 num_fails=$(ctdb_counter_get)
49                 if [ "$num_fails" -ge 2 ] ; then
50                         die "ERROR: ${num_fails} consecutive failures for vsftpd, marking node unhealthy"
51                 elif [ "$num_fails" -eq 1 ] ; then
52                         echo "WARNING: vsftpd not listening but less than 2 consecutive failures, not unhealthy yet"
53                 fi
54         fi
55         ;;
56 esac
57
58 exit 0