31 lines
984 B
Bash
31 lines
984 B
Bash
#!/bin/bash
|
|
|
|
function log_error() { echo `date '+%Y-%m-%d %H:%M:%S'` ERROR: $1 >&2; }
|
|
function log() { echo `date '+%Y-%m-%d %H:%M:%S'` INFO: $1; }
|
|
|
|
MAIL=$(tee)
|
|
|
|
SERVER_LIST="['10.10.115.15', '10.10.115.16']"
|
|
PASSWORD="p455w0rD"
|
|
|
|
SERVERS=($(python3 -c "from random import shuffle; server=${SERVER_LIST}; shuffle(server); print(' '.join(server))"))
|
|
|
|
|
|
for SERVER in ${SERVERS[@]}; do
|
|
log "Trying to report ham to ${SERVER}"
|
|
RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "http://${SERVER}:11334/learnham" -d "${MAIL}")
|
|
STATUS=$?
|
|
if [ $STATUS -eq 0 ]; then
|
|
log "HAM reported to ${SERVER}: ${RETURN}"
|
|
exit 0
|
|
else
|
|
if [ $STATUS -eq 28 ]; then
|
|
log_error "Reporting HAM to ${SERVER} failed: Connection timed out."
|
|
else
|
|
log_error "Reporting HAM to ${SERVER} failed: CURL exit status ${STATUS}"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
log_error "Reporting HAM failed ${SERVERS[@]}"
|
|
exit 1 |