Check borg variables from definition file and export if ok
This commit is contained in:
		
							parent
							
								
									6205b9fb72
								
							
						
					
					
						commit
						5c98f73134
					
				
							
								
								
									
										53
									
								
								backup.sh
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								backup.sh
									
									
									
									
									
								
							| @ -409,11 +409,60 @@ else | ||||
| fi | ||||
| 
 | ||||
| ### Call borgbackup to copy actual files | ||||
| echo -e "${op}${stamp} Pre-backup tasks completed, calling borgbackup..." | ||||
| echo -e "${op}${stamp} Pre-backup tasks completed, calling borgbackup..." \ | ||||
|     "${normal}" >> "$logFile" | ||||
| 
 | ||||
| ## Get borgbackup settings and repo details | ||||
| # read definition file and map to array variable | ||||
| mapfile -t borgConfig < $borgDetails | ||||
| mapfile -t borgConfig < "$borgDetails" | ||||
| ## check if any required borg configuration variables in defintion file are | ||||
| ## empty and exit with error, otherwise, map array items to variables | ||||
| # check: borg base directory | ||||
| echo -e "${op}${stamp} Verifying supplied borg configuration variables..." | ||||
| if [ -z "${borgConfig[0]}" ]; then | ||||
|     cleanup | ||||
|     quit 210 | ||||
| else | ||||
|     export BORG_BASE_DIR="${borgConfig[0]}" | ||||
| fi | ||||
| # check: path to SSH keyfile | ||||
| if [ -z "${borgConfig[1]}" ]; then | ||||
|     cleanup | ||||
|     quit 211 | ||||
| else | ||||
|     export BORG_RSH="ssh -i ${borgConfig[1]}" | ||||
| fi | ||||
| # check: name of borg repo | ||||
| if [ -z "${borgConfig[2]}" ]; then | ||||
|     cleanup | ||||
|     quit 212 | ||||
| else | ||||
|     export BORG_REPO="{borgConfig[2]}" | ||||
| fi | ||||
| # repo password | ||||
| if [ -n "${borgConfig[3]}" ]; then | ||||
|     export BORG_PASSPHRASE="{borgConfig[3]}" | ||||
| else | ||||
|     echo -e "${info}${stamp} -- [INFO] No password will be used for SSH keys" \ | ||||
|         "or when accessing remote borg repo --${normal}" >> "$logFile" | ||||
|     # if the password was omitted by mistake, export a dummy password so borg | ||||
|     # fails with an error instead of sitting and waiting for input | ||||
|     export BORG_PASSPHRASE="DummyPasswordSoBorgFails" | ||||
| fi | ||||
| # additional files to be backed up | ||||
| borgXtra="${borgConfig[4]}" | ||||
| # file with pattern definition for excluded files | ||||
| borgExclude="${borgConfig[5]}" | ||||
| # parameters for borg prune | ||||
| borgPrune="${borgConfig[6]}" | ||||
| # export: borg remote path (if not blank) | ||||
| if [ -n "${borgConfig[7]}" ]; then | ||||
|     export BORG_REMOTE_PATH="${borgConfig[7]}" | ||||
| else | ||||
|     echo -e "${info}${stamp} -- [INFO] No remote borg instance specified" \ | ||||
|         "--${normal}" >> "$logFile" | ||||
| fi | ||||
| 
 | ||||
| # map individual array items to variables and export where necessary | ||||
| export BORG_BASE_DIR="${borgConfig[0]}" | ||||
| export BORG_RSH="ssh -i ${borgConfig[1]}" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user