69 lines
2.0 KiB
Bash
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 {} \; |