basic script setup
This commit is contained in:
		
							parent
							
								
									702e4e6d10
								
							
						
					
					
						commit
						65bfe96b68
					
				
							
								
								
									
										19
									
								
								.vscode/numbered-bookmarks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.vscode/numbered-bookmarks.json
									
									
									
									
										vendored
									
									
										Normal 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
									
								
							
							
						
						
									
										99
									
								
								borghelper.sh
									
									
									
									
									
										Normal 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 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user