expect による HTTPD の死活監視設定。
expect -f httpd.exp
[httpd.expの内容]
------------------------------------------ # expect による http サーバプロセス監視、再起動 # don't echo the dialog log_user 0
spawn telnet localhost 80 expect { "Connected to" {} default { # try to restart # use catch so we don't report errors on the exec, # only on the dialog itself catch {exec /etc/rc.d/init.d/httpd restart >&/dev/null} sleep 5 # redo test, fail if get an error again spawn telnet localhost 80 expect { "Connected to" {} default { flush stdout; exit 1; } } } }
# GET HTTP HEADER send "HEAD / HTTP/1.0\r" send "\r" expect { "HTTP/1.1 200 OK" {} default { # fail if we don't get an OK flush stdout; exit 2; } }
exit 0; ------------------------------------------
|