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