87 lines
2.2 KiB
Bash
Executable File
87 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
if [ -f "/etc/default/duplicati-influxdb" ]; then
|
|
export $(cat /etc/default/duplicati-influxdb)
|
|
fi
|
|
|
|
if [ -f "~/.config/duplicati-influxdb" ]; then
|
|
export $(cat ~/default/duplicati-influxdb)
|
|
fi
|
|
|
|
TAGS=""
|
|
MESSAGE_FIELD_VALUE=""
|
|
|
|
|
|
UNSCAPED=""
|
|
ESCAPED=""
|
|
|
|
escape_tag_str () {
|
|
ESCAPED=${UNSCAPED//[ ]/\\ }
|
|
}
|
|
|
|
if [[ ! -z "$INFLUXDB_CLIENT_HOSTNAME" ]]; then
|
|
UNSCAPED=$INFLUXDB_CLIENT_HOSTNAME
|
|
escape_tag_str
|
|
TAGS="${TAGS},host=${ESCAPED}"
|
|
MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE}${INFLUXDB_CLIENT_HOSTNAME} "
|
|
else
|
|
if [[ ! -z "$HOSTNAME" ]]; then
|
|
UNSCAPED=$HOSTNAME
|
|
escape_tag_str
|
|
TAGS="${TAGS},host=${ESCAPED}"
|
|
MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE}${HOSTNAME} "
|
|
fi
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__EVENTNAME" ]]; then
|
|
UNSCAPED=$DUPLICATI__EVENTNAME
|
|
escape_tag_str
|
|
TAGS="${TAGS},eventName=\"${ESCAPED}\""
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__OPERATIONNAME" ]]; then
|
|
UNSCAPED=$DUPLICATI__OPERATIONNAME
|
|
escape_tag_str
|
|
TAGS="${TAGS},operationName=${ESCAPED}"
|
|
MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE}${DUPLICATI__OPERATIONNAME} "
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__backup_name" ]]; then
|
|
UNSCAPED=$DUPLICATI__backup_name
|
|
escape_tag_str
|
|
TAGS="${TAGS},backupName=${ESCAPED}"
|
|
MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE}${DUPLICATI__backup_name} "
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__PARSED_RESULT" ]]; then
|
|
UNSCAPED=$DUPLICATI__PARSED_RESULT
|
|
escape_tag_str
|
|
TAGS="${TAGS},status=${ESCAPED}"
|
|
MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE}${DUPLICATI__PARSED_RESULT} "
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__RESULTFILE" ]]; then
|
|
UNSCAPED=$DUPLICATI__RESULTFILE
|
|
escape_tag_str
|
|
TAGS="${TAGS},resultFile=${ESCAPED}"
|
|
fi
|
|
|
|
if [[ ! -z "$DUPLICATI__LOCALPATH" ]]; then
|
|
UNSCAPED=$DUPLICATI__LOCALPATH
|
|
escape_tag_str
|
|
TAGS="${TAGS},localPath=${ESCAPED}"
|
|
fi
|
|
|
|
FIELDS="message=\"${MESSAGE_FIELD_VALUE}\""
|
|
#echo $TAGS
|
|
|
|
curl --request POST \
|
|
"$INFLUXDB_SERVER/write?db=$INFLUXDB_BUCKET&ORG=$INFLUXDB_ORG" \
|
|
--header "Authorization: Token $INFLUXDB_TOKEN" \
|
|
--header "Content-Type: text/plain; charset=utf-8" \
|
|
--header "Accept: application/json" \
|
|
--data-raw "duplicati${TAGS} ${FIELDS}" > /dev/null 2>&1
|
|
|
|
exit 0
|