admin-scripts/bin/backup-to-minio
2024-06-25 17:45:04 -05:00

30 lines
764 B
Bash
Executable File

#!/usr/bin/env bash
# /etc/cron.weekly/backup-to-minio
TEMP_DIR=$(mktemp -d || echo "Failed to make temp dir"; exit 1)
chmod 700 "${TEMP_DIR}"
trap 'rm -rf "${TEMP_DIR}" ; exit 0' 0 1 2 3 15
while read -r line; do
rsync -aAX "$line" "${TEMP_DIR}" ;
done </etc/rsync-includes.txt
UNPRIV_USER=$(grep "1000" /etc/passwd | awk -F: '{print $1}')
chown -R "$UNPRIV_USER":"$UNPRIV_USER" "${TEMP_DIR}"
declare -i NUM_TX
NUM_TX=$(getconf _NPROCESSORS_ONLN)/2
if ! test -f "/home/${UNPRIV_USER}/.config/rclone/rclone.conf"; then
echo "Rclone config not found. Setup rclone first."
exit 1
fi
if ! sudo -u "$UNPRIV_USER" rclone copy --quiet --transfers="$NUM_TX" "${TEMP_DIR}" "minio:$(hostname)"; then
echo "Error running rclone"
exit 1
fi
exit 0