Sponsored Content
Full Discussion: Space in the directory name
Top Forums UNIX for Advanced & Expert Users Space in the directory name Post 7873 by devnul on Tuesday 2nd of October 2001 09:09:54 PM
Old 10-02-2001
Well, I have to say that there may be a more practical way of doing what you want... I mean, why not just have something which prunes away files that are over say 30-days old?...

Something like:
Code:
#!/usr/bin/perl

$volume=$ARGV[0];
@dirs=`find /usr/$volume -name Trash`;
$curtime=time();
$number_days=30;
foreach(@dirs)
{
  chomp();
  opendir(DIR,$_);
  while($fname=readdir(DIR))
  {
    ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)=stat($fname};
    # 60 seconds, 60 minutes, 24 hours
    if($ctime < $curtime-(60*60*24*$number_days))
    {
      unlink $fname;
    }
  }
}

NOTE: You will want to test this because I haven't (!!!!!).... It's just an idea...

- dEvNuL

added code tags for readability --oombera

Last edited by oombera; 02-20-2004 at 11:41 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Space left under current directory

What utility (or combination of utilities) can I use to find out how much disk space a directory and its subdirectories take up. I currently am using 'df' to see partition space/size, 'ls' doesn't seem like displaying directory info TIA SmartJuniorUnix (2 Replies)
Discussion started by: SmartJuniorUnix
2 Replies

2. Shell Programming and Scripting

Check directory space?

Is there some command I can use to check to see if there is 2 Gig of space available in a directory before I created a 2 Gig file? (3 Replies)
Discussion started by: lesstjm
3 Replies

3. Filesystems, Disks and Memory

Space Used by Directory Tree

Can someone tell me how I can determine how much space (blocks) have been used by a given directory tree? I periodically need to know how much space is consumed by a directory and all of its files and subdirectories and their files in either KB or blocks. I have tried df and du but these do not... (1 Reply)
Discussion started by: johnk99
1 Replies

4. UNIX for Dummies Questions & Answers

How do I increase disk space available to a directory?

I know very basic Unix commands s I would really appreacite the assistance of a Unix guru. I am installing an application on a Sun server, when attempting to install I get an error that says I do not have enough sapce allocated for my install directory. Error says it has 7235m but needs 15360m.... (2 Replies)
Discussion started by: rhack
2 Replies

5. UNIX for Dummies Questions & Answers

Space issue with Directory

Hi, How can I check whether a directory has enough space to create file? I have checked the space is availabe in the file system. For example: the directory /var/tmp resides in root file system. In the root file system currently 20% (5.5gb) space availabe. but how can I check the in the /var/tmp,... (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

6. Red Hat

/boot directory out of space

We applied updates on saturday and noted that we have used 97% of our /boot directory. How can I tell what files i can keep or get rid of in this directory? or how can I increase the size of this partition. Red Hat Enterprise Linux ES release 3 (Taroon Update 9) 2.4.21-57.ELsmp Thank... (4 Replies)
Discussion started by: redac
4 Replies

7. Shell Programming and Scripting

find the free space of a particular directory

Hi Guys, I want to find the free space of a particular directory,, Regards, Magesh (3 Replies)
Discussion started by: mac4rfree
3 Replies

8. UNIX for Dummies Questions & Answers

Adding space to a directory?

I need to add space to certain directory. I believe I need to add space to the filesystem this directory belongs to. How can I find out what filesystem this directory belongs to? (3 Replies)
Discussion started by: NycUnxer
3 Replies

9. UNIX for Dummies Questions & Answers

Display all directory/sub directory with occupied space?

Hello, I am using Red Hat linux system. I see my /work directory has used space 300GB. But there are so many sub directory under /work. I want to list each direcotry and under all subdirectory. But i want to know how much space occupied by each directory. What kind of command i can use to... (3 Replies)
Discussion started by: govindts
3 Replies

10. Shell Programming and Scripting

Handle space in directory name

I have two servers in subject, say server1 and server2. I have shell scripts on server1. We have a directory on server2 from where the files need to be scp to server1. The directory on server2 is having space in its name. I have script on server1 that takes the directory path of server2 as a... (4 Replies)
Discussion started by: Longfellow
4 Replies
apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::APR:UserfContributed Perl Docapache_mod_perl-108~358::mod_perl-2.0.7::docs::api::APR::Finfo(3)

NAME
APR::Finfo - Perl API for APR fileinfo structure Synopsis use APR::Finfo (); use APR::Const -compile => qw(FINFO_NORM); my $finfo = APR::Finfo::stat("/tmp/test", APR::Const::FINFO_NORM, $pool); $device = $finfo->device; # (stat $file)[0] $inode = $finfo->inode; # (stat $file)[1] # stat returns an octal number while protection is hex $prot = $finfo->protection; # (stat $file)[2] $nlink = $finfo->nlink; # (stat $file)[3] $gid = $finfo->group; # (stat $file)[4] $uid = $finfo->user; # (stat $file)[5] $size = $finfo->size; # (stat $file)[7] $atime = $finfo->atime; # (stat $file)[8] $mtime = $finfo->mtime; # (stat $file)[9] $ctime = $finfo->ctime; # (stat $file)[10] $csize = $finfo->csize; # consumed size: not portable! $filetype = $finfo->filetype; # file/dir/socket/etc $fname = $finfo->fname; $name = $finfo->name; # in filesystem case: # valid fields that can be queried $valid = $finfo->valid; Description APR fileinfo structure provides somewhat similar information to Perl's "stat()" call, but you will want to use this module's API to query an already "stat()'ed" filehandle to avoid an extra system call or to query attributes specific to APR file handles. During the HTTP request handlers coming after "PerlMapToStorageHandler", "$r->finfo" already contains the cached values from the apr's "stat()" call. So you don't want to perform it again, but instead get the "ARP::Finfo" object via: my $finfo = $r->finfo; API
"APR::Finfo" provides the following functions and/or methods: "atime" Get the time the file was last accessed: $atime = $finfo->atime; obj: $finfo ( "APR::Finfo object" ) return: $atime ( integer ) Last access time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[8] Note that this method may not be reliable on all platforms, most notably Win32 -- FAT32 filesystems appear to work properly, but NTFS filesystems do not. "csize" Get the storage size consumed by the file $csize = $finfo->csize; obj: $finfo ( "APR::Finfo object" ) return: $csize ( integer ) since: 2.0.00 Chances are that you don't want to use this method, since its functionality is not supported on most platforms (in which case it always returns 0). "ctime" Get the time the file was last changed $ctime = $finfo->ctime; obj: $finfo ( "APR::Finfo object" ) return: $ctime ( integer ) Inode change time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[10] The ctime field is non-portable. In particular, you cannot expect it to be a "creation time", see "Files and Filesystems" in the perlport manpage for details. "device" Get the id of the device the file is on. $device = $finfo->device; obj: $finfo ( "APR::Finfo object" ) return: $device ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[0] Note that this method is non-portable. It doesn't work on all platforms, most notably Win32. "filetype" Get the type of file. $filetype = $finfo->filetype; obj: $finfo ( "APR::Finfo object" ) return: $filetype ( ":filetype constant" ) since: 2.0.00 For example: use APR::Pool; use APR::Finfo; use APR::Const -compile => qw(FILETYPE_DIR FILETYPE_REG FINFO_NORM); my $pool = APR::Pool->new(); my $finfo = APR::Finfo::stat("/tmp", APR::Const::FINFO_NORM, $pool); my $finfo = $finfo->filetype; if ($finfo == APR::Const::FILETYPE_REG) { print "regular file"; } elsif ($finfo == APR::Const::FILETYPE_REG) { print "directory"; } else { print "other file"; } Since /tmp is a directory, this will print: directory "fname" Get the pathname of the file (possibly unrooted) $fname = $finfo->fname; obj: $finfo ( "APR::Finfo object" ) return: $filetype ( string ) since: 2.0.00 "group" Get the group id that owns the file: $gid = $finfo->group; obj: $finfo ( "APR::Finfo object" ) return: $gid ( number ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[5] Note that this method may not be meaningful on all platforms, most notably Win32. Incorrect results have also been reported on some versions of OSX. "inode" Get the inode of the file. $inode = $finfo->inode; obj: $finfo ( "APR::Finfo object" ) return: $inode ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[1] Note that this method may not be meaningful on all platforms, most notably Win32. "mtime" The time the file was last modified $mtime = $finfo->mtime; obj: $finfo ( "APR::Finfo object" ) return: $mtime ( integer ) Last modify time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[9] "name" Get the file's name (no path) in filesystem case: $name = $finfo->name; obj: $finfo ( "APR::Finfo object" ) return: $device ( string ) since: 2.0.00 "nlink" Get the number of hard links to the file. $nlink = $finfo->nlink; obj: $finfo ( "APR::Finfo object" ) return: $nlink ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[3] "protection" Get the access permissions of the file. Mimics Unix access rights. $prot = $finfo->protection; obj: $finfo ( "APR::Finfo object" ) return: $prot ( ":fprot constant" ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[2] Note: Perl's stat returns an octal number while mod_perl's "protection" returns a hex number. See perldoc -f stat and APR's file_io for more information on each. "size" Get the size of the file $size = $finfo->size; obj: $finfo ( "APR::Finfo object" ) return: $size ( integer ) Total size of file, in bytes since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[7] "stat" Get the specified file's stats. $finfo = APR::Finfo::stat($fname, $wanted_fields, $p); arg1: $fname ( string ) The path to the file to "stat()". arg2: $wanted_fields ( ":finfo constant" ) The desired fields, as a bitmask flag of "APR::FINFO_*" constants. Notice that you can also use the constants that already combine several elements in one. For example "APR::Const::FINFO_PROT" asks for all protection bits, "APR::Const::FINFO_MIN" asks for the following fields: type, mtime, ctime, atime, size and "APR::Const::FINFO_NORM" asks for all atomic unix "apr_stat()" fields (similar to perl's "stat()"). arg3: $p ( "APR::Pool object" ) the pool to use to allocate the file stat structure. ret: $finfo ( "APR::Finfo object" ) since: 2.0.00 For example, here is how to get most of the "stat" fields: use APR::Pool (); use APR::Finfo (); use APR::Const -compile => qw(FINFO_NORM); my $pool = APR::Pool->new(); my $finfo = APR::Finfo::stat("/tmp/test", APR::Const::FINFO_NORM, $pool); "user" Get the user id that owns the file: $uid = $finfo->user; obj: $finfo ( "APR::Finfo object" ) return: $uid ( number ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[4] Note that this method may not be meaningful on all platforms, most notably Win32. "valid" The bitmask describing valid fields of this apr_finfo_t structure including all available 'wanted' fields and potentially more $valid = $finfo->valid; obj: $finfo ( "APR::Finfo object" ) arg1: $valid ( bitmask ) This bitmask flag should be bit-OR'ed against ":finfo constant" constants. since: 2.0.00 See Also mod_perl 2.0 documentation. Copyright mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. Authors The mod_perl development team and numerous contributors. perl v5.16.2 2011-02-07 apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::APR::Finfo(3)
All times are GMT -4. The time now is 10:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy