added mirror flag removing extraneous dest files
authorChris Koeritz <fred@gruntose.com>
Sat, 12 Oct 2024 05:14:40 +0000 (01:14 -0400)
committerChris Koeritz <fred@gruntose.com>
Sat, 12 Oct 2024 05:14:40 +0000 (01:14 -0400)
scripts/archival/general_updater.sh

index baca195c08edf92a36bf3c63db74d6d1450b340c..8e7cff95eddbc59d072a4d95c8ed78943c912412 100644 (file)
@@ -38,6 +38,7 @@ function synch_directory_to_target()
 {
   local from="$1"; shift
   local to="$1"; shift
+  local extra_flag="$1"; shift
 
   sep
 
@@ -51,7 +52,7 @@ function synch_directory_to_target()
   fi
 
   echo "synching from $from into $to"
-  netcp "$from"/* "$to"/
+  netcp $extra_flag "$from"/* "$to"/
   if [ $? -ne 0 ]; then
     echo "The synchronization of $from into $to has failed."
     return 1
@@ -65,6 +66,23 @@ function synch_directory_to_target()
 function update_archive_drive()
 {
   local target_folder="$1"; shift  # where we're backing up to.
+
+#echo "remaining parms are: $*"
+  # implement a mirroring feature if they use the flag "--mirror".
+  # this turns on rsync --delete feature to remove things on the destination
+  # that are not on the source.
+  local RSYNC_EXTRAS=""
+  local mirror_parm="$1"; shift
+  if [ "$mirror_parm" == "--mirror" ]; then
+    RSYNC_EXTRAS="--delete"
+    echo "
+NOTE:
+Due to the presence of the '--mirror' flag on the command line, we are
+adding rsync flags to mirror the source, which removes any files that
+are on the destination but not on the source.
+"
+  fi  
+
   local currdir  # loop variable.
 
   sep
@@ -78,7 +96,7 @@ function update_archive_drive()
 
   # synch all our targets.
   for currdir in $MAJOR_ARCHIVE_SOURCES; do
-    synch_directory_to_target "$currdir" "$target_folder/$(basename $currdir)"/
+    synch_directory_to_target "$currdir" "$target_folder/$(basename $currdir)"/ $RSYNC_EXTRAS
   done
 
   sep