duperemoverb/bin/deduperemoverb.rb

34 lines
766 B
Ruby
Executable File

#!/usr/bin/env ruby
# vim: set noet sw=2 ts=2 sts=2:
require 'deduperemoverb'
require 'ostruct'
require 'logger'
$logger = Logger.new STDERR
$logger.formatter =
proc do |severity, datetime, progname, message|
sprintf "%s %s %s\n", datetime.strftime( '%H:%M:%S.%6N'), severity[0], message
end
begin
raise "Argument 0: Database expected" if ARGV.empty?
dbfile = Pathname.new ARGV[0]
raise "Argument 0: Database missing: #{dbfile}" unless dbfile.exist?
tempfile = Pathname.new("/run/user/#{Process.uid}").join dbfile.basename
dr = Duperemove.new dbfile, tempfile
dr.run ARGV[1..-1]
dr.finish
rescue SystemExit
raise
rescue Interrupt
$logger.info "was interrupted"
exit 1
rescue
$logger.fatal "#$! (#{$!.class})\n#{$!.backtrace.join "\n\t"}"
end