/[corp_html]/.data/save_perm.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /.data/save_perm.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by dpavlin, Thu Mar 21 09:43:52 2002 UTC revision 1.2 by dpavlin, Thu Mar 21 09:57:40 2002 UTC
# Line 1  Line 1 
1  #!/usr/local/bin/perl -w  #!/usr/local/bin/perl -w
2    
3  use English;  use English;
4    use strict;
5    
6  my @dirs = ("/data/corp_html");  my @dirs = @ARGV;
7    
8  while (@dirs) {  while (@dirs) {
9          my $curr_dir=shift @dirs;          my $curr_dir=shift @dirs;
# Line 17  while (@dirs) { Line 18  while (@dirs) {
18                  close(I);                  close(I);
19          }          }
20          print STDERR "ignore: ",join("|",@ignore);          print STDERR "ignore: ",join("|",@ignore);
21          @clutter = readdir(DIR);          my @clutter = readdir(DIR);
22          foreach my $file (@clutter) {          foreach my $file (@clutter) {
23                  if (-l "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {                  if (-l "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {
24                          my $dest=readlink("$curr_dir/$file");                          my $dest=readlink("$curr_dir/$file");
25                          $dest="$curr_dir/$dest" if (substr($dest,0,1) ne "/");                          $dest="$curr_dir/$dest" if (substr($dest,0,1) ne "/");
26                          print "ln -sf $dest $curr_dir/$file\n";                          print "ln -sf $dest $curr_dir/$file\n";
27                  } elsif ((-f "$curr_dir/$file" || -d "$curr_dir/$file") && grep(/^\Q$file\E$/,@ignore) == 0) {                  } elsif ((-f "$curr_dir/$file" || -d "$curr_dir/$file") && grep(/^\Q$file\E$/,@ignore) == 0 && -r "$curr_dir/$file") {
28                          my (undef,undef,$mode,undef,$uid,$gid) = stat("$curr_dir/$file");                          my (undef,undef,$mode,undef,$uid,$gid) = stat("$curr_dir/$file");
29                          if ($uid != $UID || $gid != $GID) {                          if ( $uid != $UID || $gid != $GID ) {
30                                  print "chown ",scalar(getpwuid($uid)),":",scalar(getpwuid($gid))," $curr_dir/$file\n";                                  print "chown ",(scalar(getpwuid($uid)) || $uid),":",(scalar(getgrgid($gid)) || $gid)," $curr_dir/$file\n";
31                                  printf "chmod %04o %s\n", ($mode & 07777), "$curr_dir/$file";                                  printf "chmod %04o %s\n", ($mode & 07777), "$curr_dir/$file";
32                          }                          }
33                          push @dirs,"$curr_dir/$file" if (-d "$curr_dir/$file");                          push @dirs,"$curr_dir/$file" if (-d "$curr_dir/$file");

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.26