eventscripts: Remove reconfigure code from httpd eventscript
[Samba.git] / ctdb / config / events.d / 41.httpd
blobac0c9419c6ca6d128720fed943e86de1257b3ebf
1 #!/bin/sh
2 # event script to manage httpd in a cluster environment
4 [ -n "$CTDB_BASE" ] || \
5 export CTDB_BASE=$(cd -P $(dirname "$0") ; dirname "$PWD")
7 . $CTDB_BASE/functions
9 detect_init_style
11 case $CTDB_INIT_STYLE in
12 redhat)
13 service_name="httpd"
14 service_config="http"
16 suse|debian|*)
17 service_name="apache2"
18 service_config="apache2"
20 esac
22 # RHEL5 sometimes use a SIGKILL to terminate httpd, which then leaks
23 # semaphores. This is a hack to clean them up.
24 cleanup_httpd_semaphore_leak() {
25 killall -q -0 "$service_name" ||
26 for i in $(ipcs -s | awk '$3 == "apache" { print $2 }') ; do
27 ipcrm -s $i
28 done
31 ##########
33 service_start ()
35 cleanup_httpd_semaphore_leak
36 service $service_name start
38 service_stop ()
40 service $service_name stop
41 killall -q -9 $service_name || true
44 loadconfig
46 ctdb_start_stop_service
48 is_ctdb_managed_service || exit 0
50 case "$1" in
51 startup)
52 ctdb_service_start
55 shutdown)
56 ctdb_service_stop
59 monitor)
60 if ctdb_check_tcp_ports 80 >/dev/null 2>/dev/null ; then
61 ctdb_counter_init
62 else
63 ctdb_counter_incr
65 ctdb_check_counter warn -eq 2 || {
66 echo "HTTPD is not running. Trying to restart HTTPD."
67 service_stop
68 service_start
69 exit 0
71 ctdb_check_counter warn -ge 5 || {
72 echo "HTTPD is not running. Trying to restart HTTPD."
73 service_stop
74 service_start
75 exit 1
81 ctdb_standard_event_handler "$@"
83 esac
85 exit 0