projects
/
feisty_meow.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new fortune
[feisty_meow.git]
/
scripts
/
files
/
safedel.pl
diff --git
a/scripts/files/safedel.pl
b/scripts/files/safedel.pl
index c95e6621f8671d45cbf7387d772ac3179f565848..0fd25678045e95c10b5acef0852aec2bf64c578f 100644
(file)
--- a/
scripts/files/safedel.pl
+++ b/
scripts/files/safedel.pl
@@
-44,12
+44,6
@@
if ($OS eq "UNIX") {
die "The Operating System variable (OS) is not set.\n";
}
die "The Operating System variable (OS) is not set.\n";
}
-# The zip program has slightly different parameters depending on the
-# version that will be run. The DOS version needs to see a -P to remember
-# the directory names.
-$use_path = '';
-$wildcard = ""; # used for reasonable zips, like os/2 or unix.
-
# set the filename used for numbering.
local($NUMBER_FILE) = "$TMP/aa_safedel.num";
# set the filename used for numbering.
local($NUMBER_FILE) = "$TMP/aa_safedel.num";
@@
-89,7
+83,6
@@
sub safedel {
# reset the list of objects actually whacked.
local(@deleted) = ();
# reset the list of objects actually whacked.
local(@deleted) = ();
-# print "deleted list is @deleted\n";
# iterate over the files that we have been told to nuke.
foreach $file (@to_delete) {
# iterate over the files that we have been told to nuke.
foreach $file (@to_delete) {
@@
-98,6
+91,9
@@
sub safedel {
if (substr($file, length($file) - 1, 1) eq ":") {
die "removing the root directory of a drive is not permitted!";
}
if (substr($file, length($file) - 1, 1) eq ":") {
die "removing the root directory of a drive is not permitted!";
}
+
+#print "file to whack: '$file'\n";
+
if ( ($file =~ /^.*\/\.$/) || ($file =~ /^.*\/\.\.$/) ) {
print "ignoring attempt to remove current or parent directory.\n";
next;
if ( ($file =~ /^.*\/\.$/) || ($file =~ /^.*\/\.\.$/) ) {
print "ignoring attempt to remove current or parent directory.\n";
next;
@@
-107,14
+103,14
@@
sub safedel {
$date_tool = "date";
local($datestamp) = `$date_tool +%Y-%m-%d-%H%M`;
while ($datestamp =~ /[\r\n]$/) { chop $datestamp; }
$date_tool = "date";
local($datestamp) = `$date_tool +%Y-%m-%d-%H%M`;
while ($datestamp =~ /[\r\n]$/) { chop $datestamp; }
- $
tempfile = $temp_subdir . "/deleted-#
$number-" . $datestamp;
-#print "
tempfile is $temp
file; file is $file.\n";
+ $
archive_file = $temp_subdir . "/del-
$number-" . $datestamp;
+#print "
archive_file is $archive_
file; file is $file.\n";
if (-d $file) {
# ensure there aren't any read only files.
if (-d $file) {
# ensure there aren't any read only files.
- system("chmod -R u+rw
\"$file\"
");
+ system("chmod -R u+rw
'$file'
");
# store the directory in the trash storage.
# store the directory in the trash storage.
- system("$zip -rm $
use_path $tempfile \"$file$wildcard\"
$DEV_NULL");
+ system("$zip -rm $
archive_file '$file'
$DEV_NULL");
# zip up the files into the safekeeper directory.
# recursively unlink in case zip doesn't remove the empty dir.
if (-d $file) {
# zip up the files into the safekeeper directory.
# recursively unlink in case zip doesn't remove the empty dir.
if (-d $file) {
@@
-123,11
+119,13
@@
sub safedel {
}
push(@deleted, "\"$file\"");
} elsif (-f $file) {
}
push(@deleted, "\"$file\"");
} elsif (-f $file) {
+#print "about to chmod file\n";
+ # make the file writable by our user if possible (which resets any
+ # prior permissions as long as we're the owner).
+ system("chmod u+rw '$file'");
# store the file in the trash storage.
# store the file in the trash storage.
- system("chmod u+rw \"$file\"");
-
-#print "about to run: system [$zip -m$use_path $tempfile '$file' $DEV_NULL]";
- system("$zip -m$use_path $tempfile \"$file\" $DEV_NULL");
+#print "about to run: system [$zip -m $archive_file '$file' $DEV_NULL]";
+ system("$zip -m $archive_file '$file' $DEV_NULL");
push(@deleted, "\"$file\"");
} else {
print "$0 cannot find \"$file\" to delete it.\n";
push(@deleted, "\"$file\"");
} else {
print "$0 cannot find \"$file\" to delete it.\n";
@@
-140,7
+138,7
@@
sub safedel {
local($printable_date) = scalar(localtime());
#&ctime(time);
$printable_date =~ s/\n//g;
local($printable_date) = scalar(localtime());
#&ctime(time);
$printable_date =~ s/\n//g;
- local($just_archived_filename) = `basename "$
temp
file"`;
+ local($just_archived_filename) = `basename "$
archive_
file"`;
while ($just_archived_filename =~ /[\r\n]$/) { chop $just_archived_filename; }
print REPORT "\n";
print REPORT $printable_date . " -- created \"" . $just_archived_filename . ".zip\"\n";
while ($just_archived_filename =~ /[\r\n]$/) { chop $just_archived_filename; }
print REPORT "\n";
print REPORT $printable_date . " -- created \"" . $just_archived_filename . ".zip\"\n";