#!/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 "$HOSTNAME" ]]; then UNSCAPED=$HOSTNAME escape_tag_str TAGS="${TAGS},host=${ESCAPED}" MESSAGE_FIELD_VALUE="${MESSAGE_FIELD_VALUE} ${HOSTNAME}" 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=\"Duplicati ${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