new script: hedge-backup
This commit is contained in:
		
							parent
							
								
									9633d2b8e1
								
							
						
					
					
						commit
						ef0ddc9681
					
				
					 1 changed files with 39 additions and 0 deletions
				
			
		
							
								
								
									
										39
									
								
								misc/hedge-backup
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								misc/hedge-backup
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| #!/bin/zsh | ||||
| #dep:curl | ||||
| 
 | ||||
| setopt extendedglob | ||||
| 
 | ||||
| source ${$(realpath "$0"):h:h}/lib/common.zsh | ||||
| 
 | ||||
| CONF_BASE=${XDG_CONFIG_HOME:-$HOME/.config}/hedge-backup/ | ||||
| source $CONF_BASE/config.sh | ||||
| BACKUP_BASE=${BACKUP_BASE:-${XDG_DATA_HOME:-$HOME/.local/share}/hedge-backup} | ||||
| mkdir -p $BACKUP_BASE | ||||
| 
 | ||||
| if [[ -z $1 ]]; then | ||||
| 	echo "Usage: $0 HEDGEDOC-DOMAIN..." | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| if [[ $1 == '-a' ]]; then | ||||
| 	domains=($CONF_BASE/*~*/config.sh(N.:t)) | ||||
| else | ||||
| 	domains=($@) | ||||
| fi | ||||
| 
 | ||||
| echo "Backing up: $domains" | ||||
| 
 | ||||
| BACKUP_DATE=$(date --iso-8601=seconds) | ||||
| 
 | ||||
| for domain in $domains; do | ||||
| 	if [[ ! -e $CONF_BASE/$domain ]]; then | ||||
| 		echo "\e[1;93mWarning: no configuration for $domain. Skipping" | ||||
| 		continue | ||||
| 	fi | ||||
| 	mkdir -p $BACKUP_BASE/$domain | ||||
| 	for doc in $(<$CONF_BASE/$domain); do | ||||
| 		check "Backing up $domain/$doc..." | ||||
| 		curl --silent https://$domain/$doc/download > $BACKUP_BASE/$domain/${doc}-${BACKUP_DATE} \ | ||||
| 			&& succeed || fail | ||||
| 	done | ||||
| done | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alexander Gehrke
						Alexander Gehrke