#!/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