#!/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