mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-11-04 04:08:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# log command
 | 
						|
if [ -n "$SSH_ORIGINAL_COMMAND" ]
 | 
						|
then
 | 
						|
  echo "`/bin/date`: $SSH_ORIGINAL_COMMAND" | systemd-cat -t "ssh-wrapper.sh"
 | 
						|
fi
 | 
						|
 | 
						|
# define executable commands
 | 
						|
get_hashed_machine_id="sha256sum /etc/machine-id";
 | 
						|
get_backup_types="find /Backups/{{hashed_machine_id.stdout}}/ -maxdepth 1 -type d -execdir basename {} ;";
 | 
						|
 | 
						|
# @todo This configuration is not scalable yet. If other backup services then server_docker-volume-backup are integrated, this logic needs to be optimized
 | 
						|
get_static_last_version_dir="readlink -f /Backups/{{hashed_machine_id.stdout}}/server_docker-volume-backup/latest"
 | 
						|
rsync_command="sudo rsync --server --sender -blogDtpre.iLsfxCIvu . $($get_static_last_version_dir)/"
 | 
						|
 | 
						|
# filter commands
 | 
						|
case "$SSH_ORIGINAL_COMMAND" in
 | 
						|
	"$get_hashed_machine_id")
 | 
						|
		$get_hashed_machine_id
 | 
						|
		;;
 | 
						|
	"$get_static_last_version_dir")
 | 
						|
		$get_static_last_version_dir
 | 
						|
		;;
 | 
						|
	"$get_backup_types")
 | 
						|
		$get_backup_types
 | 
						|
		;;
 | 
						|
	"$rsync_command")
 | 
						|
		$rsync_command
 | 
						|
		;;
 | 
						|
	*)
 | 
						|
		echo "This command is not supported."
 | 
						|
		exit 1
 | 
						|
		;;
 | 
						|
esac
 |