From d0a3152501e907ff68defcd1b3125ce781cb9d48 Mon Sep 17 00:00:00 2001 From: Gaston Gonzalez Date: Thu, 16 Jan 2025 02:51:18 -0700 Subject: [PATCH] Backup - Updated backup script to check for existing backup file. --- overlay/opt/emcomm-tools/bin/et-user-backup | 23 ++++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/overlay/opt/emcomm-tools/bin/et-user-backup b/overlay/opt/emcomm-tools/bin/et-user-backup index 8a94ba5..6eacfbe 100755 --- a/overlay/opt/emcomm-tools/bin/et-user-backup +++ b/overlay/opt/emcomm-tools/bin/et-user-backup @@ -1,6 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez -# Date : 14 January 2024 +# Date : 14 January 2025 +# Updated : 16 January 2025 # Purpose : Back up select files from the user's home directory. # # The backups are limited to the following: @@ -10,13 +11,6 @@ TODAY=$(date +"%Y%m%d") BACKUP_FILE="${HOME}/etc-user-backup-${HOSTNAME}-${TODAY}.tar.gz" -# All paths are relative to $HOME. -BACKUP_DIRS=( - ".config/emcomm-tools" - ".local/share/emcomm-tools" - ".local/share/pat" -) - ESC="\033" CYAN="$ESC[36m" GREEN="$ESC[0;32m" @@ -25,6 +19,19 @@ WHITE="$ESC[1;37m" YELLOW="$ESC[1;33m" NC="$ESC[0m" +if [ -e "${BACKUP_FILE}" ]; then + echo -e -n "${RED}A backup file for today exists. Can ${WHITE}${BACKUP_FILE} ${RED}be overwritten? (y/n) ${NC}" + read response + [[ $response != [yY] ]] && echo "Skipping backup and exiting." && exit 1 +fi + +# All paths are relative to $HOME. +BACKUP_DIRS=( + ".config/emcomm-tools" + ".local/share/emcomm-tools" + ".local/share/pat" +) + tar -czf ${BACKUP_FILE} \ --transform 's|^.*\.local|.local|' \ -C "${HOME}" "${BACKUP_DIRS[@]}"