Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Find Directory owners

by OzzyOsbourne (Chaplain)
on Mar 07, 2002 at 20:17 UTC ( #150112=sourcecode: print w/replies, xml ) Need Help??
Category: NT Admin
Author/Contact Info OzzyOsbourne
Description: Find the owners of directories on large public shares to ease directory cleanup. The Win32::Perms module has had a memory leak for over a year, which may lead to issues on larger directories.
# Finds the owners of files on the global, finds their size, and print
+s them to globalowners.txt
# 7/27/01
# Prints [owner][file][file size (KB)][acess time code][last file acce
+ss][modify time code][last modified date]
# To effectively sort times, sort by the timecodes.
# Import the text file to spreadsheet for best results
# 7.30.01 added autoflush line due to overnight buffer overrun.

use strict;
use Win32::Perms;
use File::Find;


my $dir1='//server/share';

open OUT, ">dirowners.txt";
print OUT "Owner\tSize(KB)\tAccessTimeCode\tLast Accessed\tModifyTimeC
+ode\tLast Modified\tFile\n";

find (\&wanted, $dir1);
close OUT;

sub wanted {
    if (-d){
        my $File  = new Win32::Perms("$File::Find::name")||die "$!";  
+  
        my $Own=$File->Owner();
        my @stat=stat($File::Find::name);
        my $kbytes = $stat[7]/1024;
        my $access = localtime($stat[8]);
        my $modify = localtime($stat[9]);
        print OUT "$Own\t$kbytes\t$stat[8]\t$access\t$stat[9]\t$modify
+\t$File::Find::name\n";
        print "$Own\t$kbytes\t$stat[8]\t$access\t$stat[9]\t$modify\t$F
+ile::Find::name\n";
        $File->Close();

    }
}
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://150112]
help
Chatterbox?
[Corion]: Hmm. My overkill logging of transactions seems to bear fruit. I've built it in a way that the decision on every transaction must be logged, even if the transaction is just skipped, to prevent silent skips.
[Corion]: Now, three years in production, it found a situation (during development) where stuff was skipped without getting a log message.

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2017-08-21 07:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Who is your favorite scientist and why?



























    Results (318 votes). Check out past polls.

    Notices?