From 09654251369e7ba9517bbe670ac5ed0b5af091af Mon Sep 17 00:00:00 2001 From: Will Budic Date: Mon, 25 Nov 2024 23:07:34 +1100 Subject: [PATCH] mods. --- linux-B_L_R_via_sshfs/backup.sh | 27 +++++++++++++++++++-------- linux-B_L_R_via_sshfs/crontab.lst | 1 - linux-B_L_R_via_sshfs/list.sh | 14 ++++++++++++++ 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/linux-B_L_R_via_sshfs/backup.sh b/linux-B_L_R_via_sshfs/backup.sh index 789a21e..fd721b9 100755 --- a/linux-B_L_R_via_sshfs/backup.sh +++ b/linux-B_L_R_via_sshfs/backup.sh @@ -44,6 +44,7 @@ then fi [[ $1 =~ ^--target ]] && shift #handled as last argument later. + if [[ $1 =~ ^--name= ]] then POSFIX=$(echo $1 | awk -F= '{print $2}');shift @@ -52,6 +53,15 @@ then fi [[ $POSFIX ]] && echo -e "Posfix name set as: $POSFIX" && POSTFIX="$POSFIX-"; +if [[ $1 =~ ^--dir ]] +then + shift;DIRECTORIES="$1"; + [[ -n $POSFIX ]] && POSFIX="$1"; + echo "Backing up specified directory:$1"; + shift; +fi + + function showHelp (){ read -r -d '' help <<-__help \e[1;31mBackup Utility \e[0m - by Will Budić (Mon 30 May 2022)\e[17m @@ -92,9 +102,9 @@ __help DATE=$(date +%Y%m%d) export BACKUP_START=`date +%F%t%T` -BACKUP_FILE="$THIS_MACHINE-$POSFIX$DATE.$EXT_ENC" -BACKUP_INDEX="$THIS_MACHINE-$POSFIX$DATE.$EXT_LST" -BACKUP_STATS_FILE="$THIS_MACHINE-$POSFIX$DATE.txt" +BACKUP_FILE="$THIS_MACHINE-$POSTFIX$DATE.$EXT_ENC" +BACKUP_INDEX="$THIS_MACHINE-$POSTFIX$DATE.$EXT_LST" +BACKUP_STATS_FILE="$THIS_MACHINE-$POSTFIX$DATE.txt" if [[ -z IS_LOCAL || -z "$1" ]] then @@ -259,9 +269,10 @@ function DoBackup () { export status_bar_lbl=`echo -e "\e[32mBackup Status\e[0m"`; echo -e "\e[32mBacking up to ->\e[0m $TARGET/$BACKUP_FILE"; # - tar cJvi --exclude-caches-all --exclude-vcs --exclude-vcs-ignores --exclude-backups -P -T $BCK_LST | \ - pv -N "$status_bar_lbl" --timer --rate --eta -pw 80 -bs `echo "$file_size/1.8"|bc` | \ + tar cJvi --exclude-caches-all --exclude-vcs --exclude-vcs-ignores --exclude-backups -P -T $BCK_LST |\ + pv -N "$status_bar_lbl" --timer --rate -W | gpg -c --no-symkey-cache --batch --passphrase $GPG_PASS > $TARGET/$BACKUP_FILE 2>&1; + else tar cJi --exclude-caches-all --exclude-vcs --exclude-vcs-ignores --exclude-backups \ -P -T $BCK_LST | \ @@ -290,9 +301,9 @@ function DoBackup () { exit $? fi # Remove older backups if any. - find $TARGET/$THIS_MACHINE*.$EXT_ENC -mtime +1 -exec rm {} + > /dev/null 2>&1 - find $TARGET/$THIS_MACHINE*.$EXT_LST -mtime +1 -exec rm {} + > /dev/null 2>&1 - find $TARGET/$THIS_MACHINE*.txt -mtime +1 -exec rm {} + > /dev/null 2>&1 + find $TARGET/$THIS_MACHINE-$POSTFIX*.$EXT_ENC -mtime +1 -exec rm {} + > /dev/null 2>&1 + find $TARGET/$THIS_MACHINE-$POSTFIX*.$EXT_LST -mtime +1 -exec rm {} + > /dev/null 2>&1 + find $TARGET/$THIS_MACHINE-$POSTFIX*.txt -mtime +1 -exec rm {} + > /dev/null 2>&1 printLine; echo -e "Backup has finished for: $stats_end"; printLine; diff --git a/linux-B_L_R_via_sshfs/crontab.lst b/linux-B_L_R_via_sshfs/crontab.lst index e1aedf6..87ba9dc 100644 --- a/linux-B_L_R_via_sshfs/crontab.lst +++ b/linux-B_L_R_via_sshfs/crontab.lst @@ -8,4 +8,3 @@ SHELL=/bin/bash 7 */16 * * * ~/cron_log_maintainer.sh >> ~/cron.log 2>&1 9 */8 * * * ~/cron_backup_nuc_to_local.sh >> ~/cron.log 2>&1 0 8 * * 0 ~/cron_backup_to_nuc.sh >> ~/cron.log 2>&1 -#* * * * * printenv > /tmp/test_env.out diff --git a/linux-B_L_R_via_sshfs/list.sh b/linux-B_L_R_via_sshfs/list.sh index 5b09250..4ae89dd 100755 --- a/linux-B_L_R_via_sshfs/list.sh +++ b/linux-B_L_R_via_sshfs/list.sh @@ -46,12 +46,26 @@ then sshfs "$USER@$DEST_SERVER:$BACKUP_DIRECTORY" $TARGET -o allow_other > /dev/null 2>&1 fi +if [[ ! -z "$1" && "$1" == "--tar" ]] +then + BACKUP_FILE=$(ls $TARGET/$THIS_MACHINE-*.$EXT_ENC|tail -n 1) + gpg --decrypt --batch --passphrase $GPG_PASS $BACKUP_FILE | pv -N "Status" -pw 80 | tar -Jtv \ + > "$BACKUP_FILE.list" + echo -e "Tar list of -> $BACKUP_FILE\n" + exit +fi + INDEX=$(ls -lh $TARGET/$THIS_MACHINE-*.$EXT_LST |sort -r|head -n 1); if [[ -z $INDEX ]] then echo -e "FAILED to access target backup directory!\n" exit 0 fi + + + + + INDEX_FILE=$(echo "$INDEX" | awk '{print $9}') echo -e "Listing $INDEX_FILE\n" sel=$(xzcat "$INDEX_FILE" | sort -f -u | fzf --multi --header "Listing: $INDEX Config: $CONFIG_FILE") -- 2.34.1