diff options
Diffstat (limited to 'move/tools/nfs-accesses')
-rwxr-xr-x | move/tools/nfs-accesses | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/move/tools/nfs-accesses b/move/tools/nfs-accesses deleted file mode 100755 index fed4aa181..000000000 --- a/move/tools/nfs-accesses +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/perl - -use MDK::Common; -use Getopt::Long; - -my $first_file; -my $log_file = '/var/log/kernel/warnings'; - -GetOptions('no-link' => \ (my $no_link), - 'no-dir' => \ (my $no_dir), - 'full-dirs=s', \ (my $full_dirs), - 'ip=s' => \ (my $wanted_ip), - 'log-file=s' => \$log_file, - 'first-file=s' => \ (my $first_file), - 'from-time=s', => \ (my $from_time), - ); - -my @skipped_dirs = ( - '/usr/share/fonts', - '/lib/modules/2.4.22-21mdk', - '/usr/X11R6/lib/modules/extensions', - '/usr/X11R6/lib/X11/fonts', - '/usr/lib/kbd/keymaps', - '/usr/share/locale', - '/etc/skel', - ); - -my $skipped_dirs = '/tmp/live_tree(' . join('|', map { quotemeta } @skipped_dirs) . ')/'; -if ($full_dirs) { - my @l = chomp_(map { MDK::Common::File::cat_or_die($_) } split(' ', $full_dirs)); - $full_dirs = '/tmp/live_tree(' . join('|', map { quotemeta } @l) . ')/'; -} - -open(my $F, "tac $log_file |"); - -my @l; -while (<$F>) { - my ($time, $ip, $rfile) = /(\d+:\d+:\d+).*kernel: nfsd \((.*?)\): (.*)/ or next; - - if ($wanted_ip) { - $wanted_ip eq $ip or next; - } else { - warn "choosing $ip\n"; - $wanted_ip = $ip; - } - my $file = join('/', '', reverse split('/', $rfile)); - - last if $file =~ m!/tmp/live_tree/move/(devices|symlinks)!; - last if $from_time && $time le $from_time; - - if ($file !~ /^$skipped_dirs/) { - if (-l $file ? !$no_link : -d $file ? !$no_dir : 1) { - my $s = $full_dirs && $file =~ /^$full_dirs/ ? "/tmp/live_tree$1" : $file; - unshift @l, $s; - } - } - last if $first_file && ($file eq "/tmp/live_tree$first_file" || $rfile eq $first_file); -} - -print "$_\n" foreach sort(uniq(@l)); |