You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
757 B
Perl

#!/usr/bin/perl
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
$year = 1900 + $year;
my $snapdir = sprintf "snap-%04d%02d%02d-%02d:%02d:%02d",
$year, $month, $mday, $hour, $min, $sec;
mkdir $snapdir, 0744 or die "$snapdir: $!";
$| = 1;
foreach $dbname (<*.db>) {
$dbname =~ s/\.db$//;
my $target = "$snapdir/$dbname.txt";
print "Flattening db $dbname into $target\n";
dbmopen(%db, $dbname, undef) || die "Couldn't dbmopen \"$dbname\"";
open OUT, ">$target" or die "$target: $!";
print OUT "# $dbname at ",localtime(time),"\n";
my $key;
foreach $key (keys %db) {
my $val = $db{$key};
chomp $val;
print OUT "$key => $val\n";
}
dbmclose(%db);
close OUT;
sleep 1;
}