From: Dobrica Pavlinusic Date: Sat, 11 Feb 2012 16:50:38 +0000 (+0100) Subject: migrate ~u2000/.md5 to file md5 attr X-Git-Url: http://git.rot13.org/?p=cloudstore.git;a=commitdiff_plain;h=b9bc40a568d4aa7a46b443acdcb202bcde238008 migrate ~u2000/.md5 to file md5 attr --- diff --git a/migrate-md5-attr.pl b/migrate-md5-attr.pl new file mode 100755 index 0000000..8d11867 --- /dev/null +++ b/migrate-md5-attr.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl +use warnings; +use strict; + +use TokyoCabinet; +use Data::Dump qw(dump); +use autodie qw(:all); + +open(my $passwd, '<', '/var/lib/extrausers/passwd'); +while(<$passwd>) { + chomp; + my ($login,undef,$uid,$gid,undef,$dir,undef) = split(/:/,$_,7); + warn "# $login $uid $gid $dir"; + + my $md5 = "$dir/.md5"; + if ( ! -e $md5 ) { + warn "ERROR: $login doesn't have $md5: $!"; + next; + } + + my %h; + tie %h, "TokyoCabinet::HDB", $md5 || die "ERROR $md5: $!"; + + while( my($k,$v) = each(%h) ) { + #print "$v $k\n"; + system "attr -s md5 -V $v $dir/$k"; + } + + untie %h; + + unlink $md5; +}