4 PROJECT_NAME="${PWD%/*}"
5 PROJECT_NAME="${PROJECT_NAME##*/}"
7 # FQFN for temporary file
8 MONITOR_TEMP_FILE="/tmp/${PROJECT_NAME}.down"
10 # Construct FQFN for configuration file
11 CONFIG_FILE="${HOME}/.monitor-${PROJECT_NAME}-cron.sh"
13 . "${CONFIG_FILE}" || exit 255
15 MONITOR_OUTPUT=$(lynx -dump -head "${PROJECT_URL}" -auth="${PROJECT_USER}:${PROJECT_PASSWORD}" | head -n 1)
17 if [ "${MONITOR_OUTPUT}" != "HTTP/1.1 200 OK" ]
19 if [ ! -f "${MONITOR_TEMP_FILE}" ]
21 echo "$0: ${PROJECT_NAME} is DOWN, status: '${MONITOR_OUTPUT}'"
22 echo "${MONITOR_OUTPUT}" > ${MONITOR_TEMP_FILE}
25 elif [ -f "${MONITOR_TEMP_FILE}" ]
27 PREVIOUS_STATUS=$(cat "${MONITOR_TEMP_FILE}")
28 echo "$0: ${PROJECT_NAME} is UP again, old status was: '${PREVIOUS_STATUS}'"
29 rm -f "${MONITOR_TEMP_FILE}"