#!/bin/bash APP_PATH=$(dirname "$0") # relative APP_PATH=$(cd "$APP_PATH" && pwd) # absolutized and normalized if [[ -z "$APP_PATH" ]] ; then # error; for some reason, the path is not accessible # to the script (e.g. permissions re-evaled after suid) APP_PATH="/etc/cai-watchdog" fi source ${APP_PATH}/inc-icons RCPT=$1 SERVICE=$2 PROCESS_OR_URI=$3 STATE=$4 case $4 in online) SERVICE_OR_PROCESS="Служба" STATE_STR="доступна" ICON=${ICON_OK} ;; running) SERVICE_OR_PROCESS="Процесс" STATE_STR="запущен" ICON=${ICON_OK} ;; offline) SERVICE_OR_PROCESS="Служба" STATE_STR="недоступна" ICON=${ICON_FAIL} ;; stopped) SERVICE_OR_PROCESS="Процесс" STATE_STR="остановлен" ICON=${ICON_FAIL} ;; esac MESSAGE_TEXT="${ICON} ${SERVICE_OR_PROCESS} ${SERVICE} (${PROCESS_OR_URI}) ${STATE_STR}" #subj=$2 #message=$3 ARGS=$(xargs echo $(perl -anle 's/^[^:]+//g && s/:\s+//g && print' ${APP_PATH}/email.conf) < /dev/null) set -- $ARGS "$@"; declare -A email; email['user']=$1 email['pass']=$2 email['smtp']=$3 email['port']=$4 email_content='From: "Watchdog" <'"${email['user']}"'> To: "Subscriber" <'"${RCPT}"'> Subject: '"${MESSAGE_TEXT}"' Date: '"$(date)"' '"${MESSAGE_TEXT}"' ----- '"${HOSTNAME}"' '; echo "$email_content" | curl -s \ # -vvv \ --url "smtps://${email['smtp']}:${email['port']}" \ --user "${email['user']}:${email['pass']}" \ --mail-from "${email['user']}" \ --mail-rcpt "${RCPT}" \ --upload-file - \ -T - if [[ $? == 0 ]]; then echo; echo 'okay'; else echo "curl error code $?"; man curl | grep "^ \+$? \+" fi