mirror of
				https://github.com/mail-in-a-box/mailinabox.git
				synced 2025-10-30 18:50:53 +00:00 
			
		
		
		
	Factorisation of the repeated rsync/ssh options
cf https://github.com/mail-in-a-box/mailinabox/pull/678#discussion_r81478919
This commit is contained in:
		
							parent
							
								
									5139419b5a
								
							
						
					
					
						commit
						fcb208e5d5
					
				| @ -29,6 +29,11 @@ def backup_status(env): | |||||||
| 	backups = { } | 	backups = { } | ||||||
| 	backup_cache_dir = os.path.join(backup_root, 'cache') | 	backup_cache_dir = os.path.join(backup_root, 'cache') | ||||||
| 
 | 
 | ||||||
|  | 	rsync_ssh_options = [ | ||||||
|  | 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", | ||||||
|  | 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", | ||||||
|  | 	] | ||||||
|  | 
 | ||||||
| 	def reldate(date, ref, clip): | 	def reldate(date, ref, clip): | ||||||
| 		if ref < date: return clip | 		if ref < date: return clip | ||||||
| 		rd = dateutil.relativedelta.relativedelta(ref, date) | 		rd = dateutil.relativedelta.relativedelta(ref, date) | ||||||
| @ -51,16 +56,15 @@ def backup_status(env): | |||||||
| 			"size": 0, # collection-status doesn't give us the size | 			"size": 0, # collection-status doesn't give us the size | ||||||
| 			"volumes": keys[2], # number of archive volumes for this backup (not really helpful) | 			"volumes": keys[2], # number of archive volumes for this backup (not really helpful) | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 	code, collection_status = shell('check_output', [ | 	code, collection_status = shell('check_output', [ | ||||||
| 		"/usr/bin/duplicity", | 		"/usr/bin/duplicity", | ||||||
| 		"collection-status", | 		"collection-status", | ||||||
| 		"--archive-dir", backup_cache_dir, | 		"--archive-dir", backup_cache_dir, | ||||||
| 		"--gpg-options", "--cipher-algo=AES256", | 		"--gpg-options", "--cipher-algo=AES256", | ||||||
| 		"--log-fd", "1", | 		"--log-fd", "1", | ||||||
| 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 		config["target"], | 		config["target"], | ||||||
| 		], | 		] + rsync_ssh_options, | ||||||
| 		get_env(env), | 		get_env(env), | ||||||
| 		trap=True) | 		trap=True) | ||||||
| 	if code != 0: | 	if code != 0: | ||||||
| @ -251,11 +255,9 @@ def perform_backup(full_backup): | |||||||
| 			"--volsize", "250", | 			"--volsize", "250", | ||||||
| 			"--gpg-options", "--cipher-algo=AES256", | 			"--gpg-options", "--cipher-algo=AES256", | ||||||
| 			env["STORAGE_ROOT"], | 			env["STORAGE_ROOT"], | ||||||
| 			"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 			"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 			config["target"], | 			config["target"], | ||||||
| 			"--allow-source-mismatch" | 			"--allow-source-mismatch" | ||||||
| 			], | 			] + rsync_ssh_options, | ||||||
| 			get_env(env)) | 			get_env(env)) | ||||||
| 	finally: | 	finally: | ||||||
| 		# Start services again. | 		# Start services again. | ||||||
| @ -276,10 +278,8 @@ def perform_backup(full_backup): | |||||||
| 		"--verbosity", "error", | 		"--verbosity", "error", | ||||||
| 		"--archive-dir", backup_cache_dir, | 		"--archive-dir", backup_cache_dir, | ||||||
| 		"--force", | 		"--force", | ||||||
| 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 		config["target"] | 		config["target"] | ||||||
| 		], | 		] + rsync_ssh_options, | ||||||
| 		get_env(env)) | 		get_env(env)) | ||||||
| 
 | 
 | ||||||
| 	# From duplicity's manual: | 	# From duplicity's manual: | ||||||
| @ -293,10 +293,8 @@ def perform_backup(full_backup): | |||||||
| 		"--verbosity", "error", | 		"--verbosity", "error", | ||||||
| 		"--archive-dir", backup_cache_dir, | 		"--archive-dir", backup_cache_dir, | ||||||
| 		"--force", | 		"--force", | ||||||
| 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 		config["target"] | 		config["target"] | ||||||
| 		], | 		] + rsync_ssh_options, | ||||||
| 		get_env(env)) | 		get_env(env)) | ||||||
| 
 | 
 | ||||||
| 	# Change ownership of backups to the user-data user, so that the after-bcakup | 	# Change ownership of backups to the user-data user, so that the after-bcakup | ||||||
| @ -333,11 +331,9 @@ def run_duplicity_verification(): | |||||||
| 		"--compare-data", | 		"--compare-data", | ||||||
| 		"--archive-dir", backup_cache_dir, | 		"--archive-dir", backup_cache_dir, | ||||||
| 		"--exclude", backup_root, | 		"--exclude", backup_root, | ||||||
| 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 		config["target"], | 		config["target"], | ||||||
| 		env["STORAGE_ROOT"], | 		env["STORAGE_ROOT"], | ||||||
| 	], get_env(env)) | 	] + rsync_ssh_options, get_env(env)) | ||||||
| 
 | 
 | ||||||
| def run_duplicity_restore(args): | def run_duplicity_restore(args): | ||||||
| 	env = load_environment() | 	env = load_environment() | ||||||
| @ -347,10 +343,8 @@ def run_duplicity_restore(args): | |||||||
| 		"/usr/bin/duplicity", | 		"/usr/bin/duplicity", | ||||||
| 		"restore", | 		"restore", | ||||||
| 		"--archive-dir", backup_cache_dir, | 		"--archive-dir", backup_cache_dir, | ||||||
| 		"--ssh-options='-i /root/.ssh/id_rsa_miab'", |  | ||||||
| 		"--rsync-options=-e \"/usr/bin/ssh -oStrictHostKeyChecking=no -oBatchMode=yes -p 22 -i /root/.ssh/id_rsa_miab\"", |  | ||||||
| 		config["target"], | 		config["target"], | ||||||
| 		] + args, | 		] + rsync_ssh_options + args, | ||||||
| 	get_env(env)) | 	get_env(env)) | ||||||
| 
 | 
 | ||||||
| def list_target_files(config): | def list_target_files(config): | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user