#!/bin/sh # {{{ Variables URL="" INFO="" CRAWLER="" INFOS="active accepted handled requests reading writing waiting" # }}} # {{{ usage() usage() { cat </dev/null 2>&1 ; then CRAWLER="curl -s" elif which wget >/dev/null 2>&1 ; then CRAWLER="wget -q -O -" else printf "[ERR] wget or curl not found\n" usage exit 1 fi if [ -z "${URL}" ]; then printf "[ERR] URL not defined or empty\n" usage exit 1 fi if ! echo "${INFO}" | egrep -q "^($(echo "${INFOS}" | sed 's/ /|/g'))$"; then printf "[ERR] info '${INFO}' not available in ${INFOS}\n" usage exit 1 fi case "${INFO}" in #INFOS="active accepted handled requests reading writing waiting" active) $CRAWLER "${URL}" | sed -r -n 's/^Active connections:\s+//p' ;; accepted) $CRAWLER "${URL}" | sed -r -n 's/^\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)/\1/p' ;; handled) $CRAWLER "${URL}" | sed -r -n 's/^\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)/\2/p' ;; requests) $CRAWLER "${URL}" | sed -r -n 's/^\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)/\3/p' ;; reading) $CRAWLER "${URL}" | sed -r -n 's/^Reading:\s+([0-9]+)\s+Writing:\s+([0-9]+)\s+Waiting:\s+([0-9]+)\s+$/\1/p' ;; writing) $CRAWLER "${URL}" | sed -r -n 's/^Reading:\s+([0-9]+)\s+Writing:\s+([0-9]+)\s+Waiting:\s+([0-9]+)\s+$/\2/p' ;; waiting) $CRAWLER "${URL}" | sed -r -n 's/^Reading:\s+([0-9]+)\s+Writing:\s+([0-9]+)\s+Waiting:\s+([0-9]+)\s+$/\3/p' ;; esac exit 0 # }}} # vim: foldmethod=marker foldlevel=0 foldenable