Optionally disable forgetting of snapshots

This commit is contained in:
Martin Puppe 2020-03-25 18:55:59 +01:00
parent 3a9c1d106f
commit 1dadc79e84

View file

@ -65,17 +65,19 @@ def do_backup(config)
exit 1 exit 1
end end
puts "Deleting unnecessary snapshots …" if config.dig('forget', 'enable')
flags = config['forget'].filter{|k,v| k != 'enable'} puts 'Forgetting unnecessary snapshots …'
flags = flags.flat_map{|k,v| ['--' + k, v.to_s]} flags = config['forget'].filter{|k,v| k != 'enable'}
forget_command = ['restic', 'forget'] + flags flags = flags.flat_map{|k,v| ['--' + k, v.to_s]}
puts("Command: #{forget_command.join(' ')}") forget_command = ['restic', 'forget'] + flags
system(*forget_command) puts("Command: #{forget_command.join(' ')}")
# Data will only be deleted when `restic prune` is executed or when system(*forget_command)
# `restic forget` is called with `--prune`. # Data will only be deleted when `restic prune` is executed or when
if $?.exitstatus > 0 # `restic forget` is called with `--prune`.
STDERR.puts "Forgetting snapshots failed." if $?.exitstatus > 0
exit 1 STDERR.puts "Forgetting snapshots failed."
exit 1
end
end end
ENV.delete('RESTIC_REPOSITORY') ENV.delete('RESTIC_REPOSITORY')