# Backup info export BACKUP_DRIVE_UUID={{ disk.uuid }} export BACKUP_DRIVE_PASSWORD={{ disk.password }} export BACKUP_DRIVE_NAME=luks-$BACKUP_DRIVE_UUID export BACKUP_DRIVE_MNT=/mnt/$BACKUP_DRIVE_NAME # For notifications export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/{{ notifications.user.uid }}/bus export USER={{ notifications.user.name }} function log { LEVEL=$1 MESSAGE=$2 echo "$LEVEL: $MESSAGE" } # Unlock backup drive if [ -L /dev/disk/by-uuid/$BACKUP_DRIVE_UUID ]; then cryptsetup luksOpen /dev/disk/by-uuid/$BACKUP_DRIVE_UUID $BACKUP_DRIVE_NAME --key-file=$BACKUP_DRIVE_PASSWORD cryptsetup status /dev/mapper/$BACKUP_DRIVE_NAME else log "ERROR" "Drive $BACKUP_DRIVE_UUID could not be found." exit 1 fi if [ $? = 0 ]; then log "INFO" "Drive $BACKUP_DRIVE_UUID unlocked" else log "ERROR" "Drive $BACKUP_DRIVE_UUID could not be unlocked." exit 1 fi # Create /mnt/uuid log "INFO" "Creating $BACKUP_DRIVE_NAME" mkdir -p $BACKUP_DRIVE_MNT # Mount /mnt/uuid log "INFO" "Mounting /dev/mapper/$BACKUP_DRIVE_NAME" mount -t btrfs -o compress=zstd /dev/mapper/$BACKUP_DRIVE_NAME $BACKUP_DRIVE_MNT if [ $? = 0 ]; then log "INFO" "Drive $BACKUP_DRIVE_UUID mounted at $BACKUP_DRIVE_MNT" exit 0 else log "ERROR" "Drive $BACKUP_DRIVE_NAME could not be mounted." exit 1 fi