diff --git a/bin/pbackup b/bin/pbackup index 47e0500..ad3c881 100755 --- a/bin/pbackup +++ b/bin/pbackup @@ -150,8 +150,20 @@ sub scan_rsync_log { our $dbh; +sub get_db_filename { + my $db_filename; + if (exists $ENV{'PBACKUP_DB'}) { + $db_filename = $ENV{'PBACKUP_DB'}; + -e $db_filename or die "$db_filename: no such file\n"; + } else { + $db_filename = "$ROOT/db/pbackup.db"; + } + return $db_filename; +} + sub db_open { - $dbh=DBI->connect("dbi:SQLite:dbname=$ROOT/db/pbackup.db","","",{ + my $db_filename = get_db_filename();; + $dbh=DBI->connect("dbi:SQLite:dbname=$db_filename","","",{ AutoCommit=>1, PrintError=>0, RaiseError=>1, @@ -1791,7 +1803,8 @@ if ($cmd eq 'status') { } elsif ($cmd eq 'fix_stat') { cmd_fix_stat(); } elsif ($cmd eq 'sql') { - system('sqlite3','-header',"$ROOT/db/pbackup.db",@ARGV); + my $db_filename = get_db_filename(); + system('sqlite3', '-header', $db_filename, @ARGV); } elsif ($cmd eq 'expire') { cmd_expire(); } elsif ($cmd eq 'kill') {