1
1
openmpi/contrib/dist/build-server/remove-old.pl
Jeff Squyres 0581364508 It occurs to me that the scripts used to build nightly and official
Open MPI tarballs are not saved anywhere besides the local disk of the
build server (eddie.osl.iu.edu).  So I'm putting them here in SVN so
that if something ever happens to eddie, we still have the scripts to
make a new build server.

See the README.txt for more details.

This commit was SVN r26978.
2012-08-08 19:31:51 +00:00

53 строки
1.3 KiB
Perl
Исполняемый файл

#!/usr/bin/env perl
use strict;
use POSIX qw(strftime);
my $happy = 1;
my $savedays = $ARGV[0];
my $dir = $ARGV[1];
$happy = 0
if ($savedays <= 0 || ! -d $dir);
die "Must specify number of days and a directory"
if (!$happy);
#------------------------------------------------------------------
# Read in all the dir entries
opendir(DIR, $dir) || die "Cannot open $dir";
my @files = readdir(DIR);
closedir(DIR);
# How many days to keep?
my $t = time() - ($savedays * 60 * 60 * 24);
print "Deleting anything before: " . strftime("%D", localtime($t)) . "\n";
my $to_delete;
# Check everything in the dir; if is a dir, is not . or .., and is
# older than the save date, keep it for deleting later.
foreach my $file (@files) {
if (-d "$dir/$file" && $file ne "." && $file ne "..") {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = stat("$dir/$file");
my $str = "SAVE";
if ($mtime < $t) {
$to_delete = "$to_delete $dir/$file";
$str = "DELETE";
}
print "Found dir ($str): $file (mtime: " . strftime("%D", localtime($mtime)) . ")\n";
}
}
# If we found anything to delete, do so.
if ($to_delete ne "") {
print "Deleting: $to_delete\n";
system("chmod -R u=rwx $to_delete");
system("rm -rf $to_delete");
} else {
print "Nothing to delete!\n";
}
exit(0);