Files
hassio-addons/PBS-Client/run.sh
2024-07-08 17:22:58 -04:00

69 lines
2.0 KiB
Bash

#!/usr/bin/env bash
ls -lha /
ls -lha /tmp
exit 0
set -e
CONFIG_PATH=/data/options.json
AUTH=$(jq --raw-output '.auth // empty' $CONFIG_PATH)
USERNAME=$(jq --raw-output '.username // empty' $CONFIG_PATH)
PASSWORD=$(jq --raw-output '.password // empty' $CONFIG_PATH)
PBS_HOST=$(jq --raw-output '.pbs_host // empty' $CONFIG_PATH)
PBS_PORT=$(jq --raw-output '.pbs_port // empty' $CONFIG_PATH)
PBS_FINGERPRINT=$(jq --raw-output '.pbs_fingerprint // empty' $CONFIG_PATH)
DATASTORE=$(jq --raw-output '.datastore // empty' $CONFIG_PATH)
NAMESPACE=$(jq --raw-output '.namespace // empty' $CONFIG_PATH)
INCLUDE=$(jq --raw-output '.include[] // empty' $CONFIG_PATH)
DAYS_TO_KEEP=$(jq --raw-output '.days_to_keep // empty' $CONFIG_PATH)
BACKUP_ID=$(jq --raw-output '.backup_id // empty' $CONFIG_PATH)
echo "PBS_HOST set to ${PBS_HOST}"
echo "PBS_PORT set to ${PBS_PORT}"
echo "PBS_REPOSITORY set to ${PBS_REPOSITORY}"
echo "PBS_FINGERPRINT set to ${PBS_FINGERPRINT}"
echo "DATASTORE set to ${DATASTORE}"
echo "BACKUP_ID set to ${BACKUP_ID}"
echo "NAMESPACE set to ${NAMESPACE}"
echo "USERNAME set to ${USERNAME}"
echo "AUTH set to ${AUTH}"
echo "INCLUDE set to ${INCLUDE}"
echo "DAYS_TO_KEEP set to ${DAYS_TO_KEEP}"
# set environment variables
echo "Setting environment variables"
export PBS_PASSWORD="${PASSWORD}"
export PBS_REPOSITORY="${USERNAME}@${AUTH}@${PBS_HOST}:${PBS_PORT}:${DATASTORE}"
export PBS_FINGERPRINT="${PBS_FINGERPRINT}"
INCLUDE_DEV=""
for I in ${INCLUDE}; do
I="${I:1}"
INCLUDE_DEV+="${I}.pxar:/${I} "
done
echo "INCLUDE_DEV set to ${INCLUDE_DEV}"
ARGUMENTS=""
if [ -n "${NAMESPACE}" ]; then
ARGUMENTS+="--ns ${NAMESPACE} "
fi
if [ -n "${BACKUP_ID}" ]; then
ARGUMENTS+="--backup-id ${BACKUP_ID} "
fi
echo "ARGUMENTS set to ${ARGUMENTS}"
# run the backup
echo "Running the PBS backup..."
/usr/bin/proxmox-backup-client backup ${INCLUDE_DEV} ${ARGUMENTS}
# run the clean up
echo "Cleaing up backups older than ${DAYS_TO_KEEP} day(s)..."
find /backup/* -type f -name '*.tar' -mtime +${DAYS_TO_KEEP} -exec rm -vf {} \;