fix(bkgpslog):Fix output files having the same names
[EVA-2020-02.git] / exec / bkgpslog
index 4ec52454744228c7e6a6344d2d0aa2527572c64b..d44788661b4f9d6ece2089e39cde3e7df8fe2b3d 100755 (executable)
@@ -695,33 +695,42 @@ main() {
 
     # Initialize 'tar' archive
     ## Define output tar path (note: each day gets *one* tar file (Ex: "20200731..hostname_location.[.gpx.gz].tar"))
 
     # Initialize 'tar' archive
     ## Define output tar path (note: each day gets *one* tar file (Ex: "20200731..hostname_location.[.gpx.gz].tar"))
-    PATHOUT_TAR="$DIR_OUT"/"$(dateShort)".."$SCRIPT_HOSTNAME""_location""$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX".tar && vbm "STATUS:Set PATHOUT_TAR to:$PATHOUT_TAR";
+    PATHOUT_TAR="$DIR_OUT"/"$(dateShort)".."$SCRIPT_HOSTNAME""_location""$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX".tar && \
+       vbm "STATUS:Set PATHOUT_TAR to:$PATHOUT_TAR";
     ## Write bkgpslog version to DIR_TMP/VERSION
     ## Write bkgpslog version to DIR_TMP/VERSION
-    echo "$0"" Version:""$SCRIPT_VERSION" >> "$DIR_TMP/VERSION" && vbm "DEBUG:VERSION created.";
+    FILEOUT_VERSION="$(dateTimeShort)..VERSION";
+    PATHOUT_VERSION="$DIR_TMP"/"$FILEOUT_VERSION";
+    echo "$(dateTimeShort):$(basename "$0")"" Version:""$SCRIPT_VERSION" >> "$PATHOUT_VERSION" && vbm "DEBUG:VERSION created:$PATHOUT_VERSION";
     ## Check if PATHOUT_TAR already exists.
     if [[ -f "$PATHOUT_TAR" ]]; then
        vbm "STATUS:Output tar already exists:$PATHOUT_TAR";
        ### Check if preexisting tar is appendable.
     ## Check if PATHOUT_TAR already exists.
     if [[ -f "$PATHOUT_TAR" ]]; then
        vbm "STATUS:Output tar already exists:$PATHOUT_TAR";
        ### Check if preexisting tar is appendable.
-       PATHOUT_APPENDTEST="$DIR_TMP"/"$(dateTimeShort)..append_test.txt" && vbm "DEBUG:Set PATHOUT_APPENDTEST to:$PATHOUT_APPENDTEST";
-       echo "$(dateTimeShort)" >> "$PATHOUT_APPENDTEST" && vbm "DEBUG:""$PATHOUT_APPENDTEST"" created."
-       if ! tar --append --directory="$DIR_TMP" --file="$PATHOUT_TAR" "$(basename "$PATHOUT_APPENDTEST")"; then
+       FILEOUT_APPENDTEST="$(dateTimeShort)..RESUMING_LOGGING_SESSION.txt";
+       PATHOUT_APPENDTEST="$DIR_TMP"/"$FILEOUT_APPENDTEST" && \
+           vbm "DEBUG:Set PATHOUT_APPENDTEST to:$PATHOUT_APPENDTEST";
+       echo "$(dateTimeShort):""$(basename "$0")"" version $SCRIPT_VERSION resuming logging session." >> "$PATHOUT_APPENDTEST" && \
+           vbm "DEBUG:""$PATHOUT_APPENDTEST"" created."
+       if ! tar --append --directory="$DIR_TMP" --file="$PATHOUT_TAR" "$FILEOUT_APPENDTEST"; then
            ### If not appendable, label tar broken, move tar, proceed.
            ### If not appendable, label tar broken, move tar, proceed.
-           mv "$PATHOUT_TAR" "${PATHOUT_TAR%.*}""-broken$(dateTimeShort)".tar && vbm "DEBUG:tar not writable, moving out of the way $PATHOUT_TAR";
+           mv "$PATHOUT_TAR" "${PATHOUT_TAR%.*}""-broken$(dateTimeShort)".tar && \
+               vbm "DEBUG:tar not writable, moving out of the way $PATHOUT_TAR";
        fi
     else
        vbm "STATUS:Output tar does not already exist. Creating:$PATHOUT_TAR"
        ### If (no preexisting|appendable) tar found, create empty tar archive at PATHOUT_TAR
        fi
     else
        vbm "STATUS:Output tar does not already exist. Creating:$PATHOUT_TAR"
        ### If (no preexisting|appendable) tar found, create empty tar archive at PATHOUT_TAR
-       try tar --create --directory="$DIR_TMP" --file="$PATHOUT_TAR" --files-from=/dev/null && vbm "DEBUG:Empty tar created at:$PATHOUT_TAR";
+       try tar --create --directory="$DIR_TMP" --file="$PATHOUT_TAR" --files-from=/dev/null && \
+           vbm "DEBUG:Empty tar created at:$PATHOUT_TAR";
     fi 
     ## Append VERSION file to PATHOUT_TAR
     fi 
     ## Append VERSION file to PATHOUT_TAR
-    try tar --append --directory="$DIR_TMP" --file="$PATHOUT_TAR" "VERSION" && vbm "DEBUG:VERSION added to $PATHOUT_TAR";
+    try tar --append --directory="$DIR_TMP" --file="$PATHOUT_TAR" "$FILEOUT_VERSION" && \
+       vbm "DEBUG:VERSION added to $PATHOUT_TAR";
     
     # Record gps data until script lifespan ends
     declare debugCounter; debugCounter="0"; # set debug counter
     
     # Record gps data until script lifespan ends
     declare debugCounter; debugCounter="0"; # set debug counter
-    timeStart=$(dateTimeShort); # Note start time
     while [[ "$SECONDS" -lt "$scriptTTL" ]]; do
     while [[ "$SECONDS" -lt "$scriptTTL" ]]; do
+       timeBufferStart="$(dateTimeShort)"; # Note start time
        # Determine file paths (time is start of buffer period)
        # Determine file paths (time is start of buffer period)
-       FILEOUT_BASENAME="$timeStart""--""$bufferTTL_STR""..""$SCRIPT_HOSTNAME""_location" && vbm "STATUS:Set FILEOUT_BASENAME to:$FILEOUT_BASENAME";
+       FILEOUT_BASENAME="$timeBufferStart""--""$bufferTTL_STR""..""$SCRIPT_HOSTNAME""_location" && vbm "STATUS:Set FILEOUT_BASENAME to:$FILEOUT_BASENAME";
        ## Files saved to DIR_TMP
        PATHOUT_NMEA="$DIR_TMP"/"$FILEOUT_BASENAME".nmea"$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX" && vbm "STATUS:Set PATHOUT_NMEA to:$PATHOUT_NMEA";
        PATHOUT_GPX="$DIR_TMP"/"$FILEOUT_BASENAME".gpx"$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX" && vbm "STATUS:Set PATHOUT_GPX to:$PATHOUT_GPX";
        ## Files saved to DIR_TMP
        PATHOUT_NMEA="$DIR_TMP"/"$FILEOUT_BASENAME".nmea"$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX" && vbm "STATUS:Set PATHOUT_NMEA to:$PATHOUT_NMEA";
        PATHOUT_GPX="$DIR_TMP"/"$FILEOUT_BASENAME".gpx"$CMD_COMPRESS_SUFFIX""$CMD_ENCRYPT_SUFFIX" && vbm "STATUS:Set PATHOUT_GPX to:$PATHOUT_GPX";
@@ -756,13 +765,15 @@ main() {
        # Remove secured chunks from DIR_TMP
        try rm "$PATHOUT_NMEA" "$PATHOUT_GPX" "$PATHOUT_KML";
        # Reset buffer and filenames
        # Remove secured chunks from DIR_TMP
        try rm "$PATHOUT_NMEA" "$PATHOUT_GPX" "$PATHOUT_KML";
        # Reset buffer and filenames
-       unset bufferBash FILEOUT_BASENAME PATHOUT_NMEA PATHOUT_GPX PATHOUT_KML PATHOUT_TAR;
+       unset bufferBash FILEOUT_BASENAME PATHOUT_NMEA PATHOUT_GPX PATHOUT_KML PATHOUT_TAR timeBufferStart;
        vbm "DEBUG:Completed buffer session $debugCounter ." 1>&2;
        ((debugCounter++))
     done
 
     # Remove DIR_TMP
     try rm -r "$DIR_TMP";
        vbm "DEBUG:Completed buffer session $debugCounter ." 1>&2;
        ((debugCounter++))
     done
 
     # Remove DIR_TMP
     try rm -r "$DIR_TMP";
+
+    vbm "STATUS:Main function finished."
 } # Main function.
 #===END Declare local script functions===
 #==END Define script parameters==
 } # Main function.
 #===END Declare local script functions===
 #==END Define script parameters==