|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  import logging
 | 
	
		
			
				|  |  |  import os
 | 
	
		
			
				|  |  |  import shlex
 | 
	
		
			
				|  |  | +import subprocess
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import borgmatic.config.paths
 | 
	
		
			
				|  |  |  import borgmatic.execute
 | 
	
	
		
			
				|  | @@ -136,9 +137,16 @@ def remove_data_source_dumps(hook_config, config, log_prefix, borgmatic_runtime_
 | 
	
		
			
				|  |  |          '-o',
 | 
	
		
			
				|  |  |          'name,mountpoint',
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  | -    list_datasets_output = borgmatic.execute.execute_command_and_capture_output(
 | 
	
		
			
				|  |  | -        list_datasets_command
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | +    try:
 | 
	
		
			
				|  |  | +        list_datasets_output = borgmatic.execute.execute_command_and_capture_output(
 | 
	
		
			
				|  |  | +            list_datasets_command
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  | +    except FileNotFoundError:
 | 
	
		
			
				|  |  | +        logger.debug(f'{log_prefix}: Could not find "{zfs_command}" command')
 | 
	
		
			
				|  |  | +        return
 | 
	
		
			
				|  |  | +    except subprocess.CalledProcessError as error:
 | 
	
		
			
				|  |  | +        logger.debug(f'{log_prefix}: {error}')
 | 
	
		
			
				|  |  | +        return
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      mount_points = tuple(
 | 
	
		
			
				|  |  |          mount_point
 | 
	
	
		
			
				|  | @@ -202,7 +210,6 @@ def make_data_source_dump_patterns(hook_config, config, log_prefix, name=None):
 | 
	
		
			
				|  |  |      '''
 | 
	
		
			
				|  |  |      Restores aren't implemented, because stored files can be extracted directly with "extract".
 | 
	
		
			
				|  |  |      '''
 | 
	
		
			
				|  |  | -    # TODO: Error gracefully if the user tries to run a restore.
 | 
	
		
			
				|  |  |      raise NotImplementedError()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -212,5 +219,4 @@ def restore_data_source_dump(
 | 
	
		
			
				|  |  |      '''
 | 
	
		
			
				|  |  |      Restores aren't implemented, because stored files can be extracted directly with "extract".
 | 
	
		
			
				|  |  |      '''
 | 
	
		
			
				|  |  | -    # TODO: Error gracefully if the user tries to run a restore.
 | 
	
		
			
				|  |  |      raise NotImplementedError()
 |