#!/usr/bin/env bash # A script to perform incremental backups with rsync DATETIME="$(date '+%Y-%m-%d_%H:%M:%S')" readonly BACKUP_DIR="/mnt/backup" readonly BACKUP_PATH="${BACKUP_DIR}/${DATETIME}" readonly LATEST_LINK="${BACKUP_DIR}/latest" TEMP_DIR=$(mktemp -d || echo "Failed to make temp dir"; exit 1) chmod 700 "${TEMP_DIR}" trap 'rm -rf "${TEMP_DIR}"; exit 0' EXIT SIGHUP SIGINT SIGQUIT SIGTERM while read -r line; do rsync -aAX "$line" "${TEMP_DIR}"; done