Files
backup-scripts/update-zabbix-backup-status.sh
2026-07-22 23:53:22 +02:00

52 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# script to send info about a backup to zabbix.
# Usage:
# update-zabbix-backup-status.sh [-sf] HOSTNAME SERVICE_NAME [DURATION] [SIZE]
# parameters:
# -s Backup succeeded (required if not failed)
# -f Backup failed (required if not succeeded)
# HOSTNAME hostname of the host that performed the backup
# SERVICE_NAME name of the service that was backed up
# DURATION duration of the backup
# SIZE Size in bytes of the transfered files
function print_help
{
echo "script to send info about a backup to zabbix."
echo "Usage:"
echo " update-zabbix-backup-status.sh [-sf] HOSTNAME SERVICE_NAME [DURATION] [SIZE]"
echo "parameters:"
echo " -s Backup succeeded (required if not failed)"
echo " -f Backup failed (required if not succeeded)"
echo " -h Show this message"
echo " HOSTNAME hostname of the host that performed the backup"
echo " SERVICE_NAME name of the service that was backed up"
echo " DURATION duration of the backup. Only needed if succeeded"
echo " SIZE Size in bytes of the transfered files. Only needed if succeeded"
}
if [ -z $1 ]
then
echo "Please provide arguments. Use -h to show help"
exit 0
fi
if [ "$1" = "-h" ]
then
print_help
fi
if ! command -v zabbix_sender >/dev/null 2>&1
then
echo "zabbix_sender could not be found. Is it and the zabbix_agent2 installed?"
exit 1
fi
# TODO implement sending items to zabbix
# Use zabbix_sender directly? (for some reason not installed on games vm) https://www.zabbix.com/documentation/current/en/manual/concepts/sender
# Or create python script and use python library? https://www.zabbix.com/documentation/current/en/devel/python
# if using python script I can run the rsync backup command using subprocess, and catch the output of that
# then I can check the bytes sent to calculate the size