added another deref
[feisty_meow.git] / scripts / archival / shared_snarfer.pl
index 4747d07e70b9dd2b5de402d70274a2fb2b44777a..efa6bd20b347e1d6f1ecf48a4f5f4298aab38c3d 100644 (file)
@@ -85,9 +85,12 @@ sub short_hostname {
 # a timestamp and hostname.
 sub snarf_prefix {
   local($base) = @_;
+
+#hmmm: extract this shared code to new function (also in safedel)
   $date_tool = "date";
   local($date_part) = `$date_tool +%Y-%m-%d-%H%M`;
   while ($date_part =~ /[\r\n]$/) { chop $date_part; }
+
   local($host) = &short_hostname();
   while ($host =~ /[\r\n]$/) { chop $host; }
   $base = $base . "_" . $host . "_" . $date_part;
@@ -181,6 +184,8 @@ sub snarfer {
   }
 
   local($outcome) = 0xff & system $tar_tool, 
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
       "-rf", &canonicalize($target_file), @excludes,
       "--files-from=" . &canonicalize($temp_file);
   if ($outcome) {
@@ -222,7 +227,10 @@ sub snarf_file_list {
     }
     local($outcome) = 0xff & system $tar_tool,
 #"--directory=" . "$root",
-        @extra_flags, "-rf", &canonicalize($target_file), @excludes, $i;
+        @extra_flags, 
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
+"-rf", &canonicalize($target_file), @excludes, $i;
     if ($outcome) { die("failure to archive"); }
   }
   chdir("$currdir");
@@ -379,7 +387,12 @@ sub backup_number {
   print NUM_PREFIX $number_prefix;
   close(NUM_PREFIX);
 
-  $outcome = 0xff & system $tar_tool, "-rf",
+  $outcome = 0xff & system $tar_tool, 
+
+#hmmm: trying to dereference symbolic links and stop missing stuff.
+"-h",
+
+"-rf",
       &canonicalize($target_file), &canonicalize($prefix_file);
   if ($outcome) { die("failure to archive"); }
   unlink($prefix_file);
@@ -453,7 +466,7 @@ sub restore_archive {
   if ($outcome) { die("failure to undo archive"); }
 
   local($outcome) =
-      0xff & system "bash", "$FEISTY_MEOW_SCRIPTS/files/normal_perm.sh", ".";
+      0xff & system "bash", "$FEISTY_MEOW_SCRIPTS/security/normal_perm.sh", ".";
   if ($outcome) { die("failure to normalize permissions"); }
 
   # remove any links that might have crept in; these can cause mischief.