Skip to content

Commit

Permalink
Add command --export
Browse files Browse the repository at this point in the history
  • Loading branch information
Twi1ightSparkle committed Nov 27, 2022
1 parent 4d69dbe commit 628caea
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 0 deletions.
44 changes: 44 additions & 0 deletions src/gen_export.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash

# This script cannot be run on it's own. From the repo root, run ./borg.sh

# Borg backup runner. An (almost) no-dependency wrapper script for basic Borg backup features.
# Copyright (C) 2022 Twilight Sparkle
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

gen_export() {
if [ "$LIVE" != true ]; then
echo "Note, this command will display your backup passphrase. Pass --live to show"
exit 0
fi

STRING="$PROGRAM_NAME
To manually run borg commands, copy the below export commands and paste them into your shell.
Note the leading space. This prevents the command from being saved on your history in many shells.
export BORG_KEY_FILE=\"$BORG_KEY_FILE\"
export BORG_PASSPHRASE=\"$BORG_PASSPHRASE\"
export BORG_REPO=\"$BORG_REPO\"
"

if [ "$BORG_REMOTE" ]; then
STRING+=" export BORG_RSH=\"$BORG_RSH\"\n"
fi

STRING+="\nborg list --last 2"

echo -e "$STRING"
}
1 change: 1 addition & 0 deletions src/help.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ commands:
-d, --diff NAME2 Diff backup NAME2 and backup_name
-D, --delete Delete backup(s). backup_name option can be specified.
If not, backups matching BORG_BACKUP_PREFIX will be deleted
-e, --export Generate export commands to manually run borg commands
-i, --info Display detailed information about the repo or a backup if backup_name is specified
-I, --init Initialize a new backup repository
-l, --list List all backups. Specify backup_name option to list files in a specific backup
Expand Down
3 changes: 3 additions & 0 deletions src/index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ source "$SCRIPT_DIR/src/borg_list.sh"
source "$SCRIPT_DIR/src/borg_mount.sh"
source "$SCRIPT_DIR/src/borg_prune.sh"
source "$SCRIPT_DIR/src/borg_unmount.sh"
source "$SCRIPT_DIR/src/gen_export.sh"

TIME_STAMP=$(iso_time_stamp)
export TIME_STAMP
Expand Down Expand Up @@ -75,6 +76,8 @@ elif [ "$param_diff" ]; then
borg_diff
elif [ "$param_info" ]; then
borg_info
elif [ "$param_export" ]; then
gen_export
elif [ "$param_init" ]; then
borg_init
elif [ "$param_list" ]; then
Expand Down
1 change: 1 addition & 0 deletions src/parse_args.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ while [ $# -gt 0 ]; do
-C | --config) export BORG_CONFIG_PATH="$2"; shift; shift ;;
-d | --diff) export param_diff="$2"; shift ;;
-D | --delete) export param_delete=true; shift ;;
-e | --export) export param_export=true; shift ;;
-h | --help) print_help; exit 0 ;;
-i | --info) export param_info=true; shift ;;
-I | --init) export param_init=true; shift ;;
Expand Down

0 comments on commit 628caea

Please sign in to comment.