diff --git a/scripts/.nobackup b/scripts/.nobackup new file mode 100644 index 0000000..53f78bd --- /dev/null +++ b/scripts/.nobackup @@ -0,0 +1,3 @@ +/home/isabell/.cache/ +/home/isabell/.steam/ +/home/isabell/.xsession-errors diff --git a/scripts/home_backup.sh b/scripts/home_backup.sh index 280021a..8ae439e 100755 --- a/scripts/home_backup.sh +++ b/scripts/home_backup.sh @@ -1,14 +1,23 @@ #!/bin/bash # variables -BACKUP_PATH="/media/isabell/Elements\ SE/isabell_tuxedo/" -# EXCLUDED_DIRS={} +BACKUP_PATH=/media/isabell/Elements\ SE/isabell_tuxedo/ +NOBACKUP_FILE=.nobackup # backup execution -if [[ -f $BACKUP_PATH ]] && echo "Starting rsync backup of home directory to $BACKUP_PATH"; then - #if [ "$EXCLUDED_DIRS" = "" ]; then - rsync -av --delete $HOME $BACKUP_PATH - #fi +if [[ -d "$BACKUP_PATH" ]] && echo "Starting rsync backup of home directory to $BACKUP_PATH"; then + if [[ -f "$NOBACKUP_FILE" ]] && echo "Found $NOBACKUP_FILE file, proceeding? (y/n)"; then + read PROCEEDING + if [[ "$PROCEEDING" == "y" ]]; then + rsync -av --delete --filter 'dir-merge,- $NOBACKUP_FILE' "$HOME/" "$BACKUP_PATH" + fi + else + echo "No $NOBACKUP_FILE found, proceeding to back-up entire home directory? (y/n)" + read PROCEEDING + if [[ "$PROCEEDING" == "y" ]]; then + rsync -av --delete "$HOME/" "$BACKUP_PATH" + fi + fi else echo "Device or location designated for the backup does not exist." fi