basic script setup

This commit is contained in:
Asif Bacchus 2020-03-26 02:21:59 -06:00
parent 702e4e6d10
commit 65bfe96b68
2 changed files with 118 additions and 0 deletions

19
.vscode/numbered-bookmarks.json vendored Normal file
View File

@ -0,0 +1,19 @@
{
"bookmarks": [
{
"fsPath": "$ROOTPATH$/borghelper.sh",
"bookmarks": [
-1,
8,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1
]
}
]
}

99
borghelper.sh Normal file
View File

@ -0,0 +1,99 @@
#!/bin/sh
#
## borg helper script for viewing and restoring backups
#
### functions
consoleError() {
printf "%s\n%s\n" "$err" "$2"
printf "Exiting.\n\n%s" "$norm"
exit "$1"
}
textblock() {
printf "%s\n" "$1" | fold -w "$width" -s
}
### text formatting presets
err=$(tput bold)$(tput setaf 1)
norm$(tput sgr0)
width=$(tput cols)
### pre-requisites
# is user root?
if [ ! "$( id -u )" -eq 0 ]; then
consoleError 1 'You must be root to run this script.'
fi
# has a parameter been passed to this script?
if [ -z "$1" ]; then
consoleError 1 "No operation requested. Please run this script with '--help' for valid parameters."
fi
# process startup parameters
while [ $# -gt 0 ]; do
case "$1" in
-a|--archive)
# name of backup archive
if [ -z "$2" ]; then
consoleError 1 "Please provide the name of the backup archive you want to work with or use '--list-all' to get a full list."
fi
archiveName="$2"
shift
;;
-f|--file)
# specific file to restore
if [ -z "$2" ]; then
consoleError 1 'Please provide the name of the specific file you want to restore.'
fi
fileName="$2"
shift
;;
-h|-\?|--help)
# display help
printf "\nStill working on the help text :-)\n\n"
exit 0
;;
-l|--list)
# list contents of specific backup
operation='viewarchive'
;;
-la|--list-all)
# list all backup archives
operation='listall'
;;
-p|--path)
# path to restore files
if [ -z "$2" ]; then
consoleError 1 'Please specify a path where you want files restored.'
fi
restorePath="${2%/}"
shift
;;
-v|--vars)
# location of borgvars file
if [ -z "$2" ]; then
consoleError 1 'Please provide the path to the file with your borg connection information.'
elif [ ! -f "$2" ]; then
consoleError 1 'The specified borg connection information file does not exist.'
exit 1
fi
varsFile="$2"
shift
;;
*)
# invalid option
printf "%s\nUnknown option: %s\n" "$err" "$1"
printf "Use '--help' for valid options.\n\n%s" "$norm"
exit 1
;;
esac
shift
done