@@ -129,8 +129,12 @@ cmd_collect()
129129 # Cleanup on exit
130130 cleanup ()
131131 {
132+ echo " [$( date -Iseconds) ] Cleanup called (signal: ${1:- EXIT} )" >> " ${EXEC_LOG} " 2>&1 || echo " [$( date -Iseconds) ] Cleanup called (signal: ${1:- EXIT} )" >&2
132133 if [ -d " ${COLLECT_DIR} " ]; then
134+ echo " [$( date -Iseconds) ] Removing collection directory: ${COLLECT_DIR} " >> " ${EXEC_LOG} " 2>&1 || echo " [$( date -Iseconds) ] Removing: ${COLLECT_DIR} " >&2
133135 rm -rf " ${COLLECT_DIR} "
136+ else
137+ echo " [$( date -Iseconds) ] Collection directory already gone: ${COLLECT_DIR} " >> " ${EXEC_LOG} " 2>&1 || echo " [$( date -Iseconds) ] Already gone: ${COLLECT_DIR} " >&2
134138 fi
135139 }
136140 trap cleanup EXIT INT TERM
@@ -383,7 +387,14 @@ cmd_collect()
383387
384388 # Create final tar.gz and output to stdout
385389 # Use -C to change to parent directory so paths in archive don't include full path
386- cd " ${WORK_DIR} "
390+ echo " [$( date -Iseconds) ] Changing to work directory: ${WORK_DIR} " >> " ${EXEC_LOG} " 2>&1
391+ if ! cd " ${WORK_DIR} " ; then
392+ echo " [$( date -Iseconds) ] ERROR: Failed to cd to ${WORK_DIR} " >> " ${EXEC_LOG} " 2>&1
393+ echo " Error: Cannot change to work directory ${WORK_DIR} " >&2
394+ exit 1
395+ fi
396+ echo " [$( date -Iseconds) ] Successfully changed to: $( pwd) " >> " ${EXEC_LOG} " 2>&1
397+ echo " [$( date -Iseconds) ] Creating archive from: $( basename " ${COLLECT_DIR} " ) " >> " ${EXEC_LOG} " 2>&1
387398
388399 # Check if password encryption is requested
389400 if [ -n " $PASSWORD " ]; then
@@ -392,14 +403,29 @@ cmd_collect()
392403 exit 1
393404 fi
394405 echo " Encrypting with GPG..." >&2
406+ echo " [$( date -Iseconds) ] Starting tar with GPG encryption" >> " ${EXEC_LOG} " 2>&1
395407 tar czf - " $( basename " ${COLLECT_DIR} " ) " 2>> " ${EXEC_LOG} " | \
396408 gpg --batch --yes --passphrase " $PASSWORD " --pinentry-mode loopback -c 2>> " ${EXEC_LOG} "
409+ tar_exit=$?
410+ echo " [$( date -Iseconds) ] tar+gpg pipeline exit code: $tar_exit " >> " ${EXEC_LOG} " 2>&1
397411 echo " " >&2
398412 echo " WARNING: Remember to share the encryption password out-of-band!" >&2
399413 echo " Do not send it in the same email as the encrypted file." >&2
414+ if [ $tar_exit -ne 0 ]; then
415+ echo " [$( date -Iseconds) ] ERROR: tar+gpg failed with exit code $tar_exit " >> " ${EXEC_LOG} " 2>&1
416+ exit $tar_exit
417+ fi
400418 else
419+ echo " [$( date -Iseconds) ] Starting tar (no encryption)" >> " ${EXEC_LOG} " 2>&1
401420 tar czf - " $( basename " ${COLLECT_DIR} " ) " 2>> " ${EXEC_LOG} "
421+ tar_exit=$?
422+ echo " [$( date -Iseconds) ] tar exit code: $tar_exit " >> " ${EXEC_LOG} " 2>&1
423+ if [ $tar_exit -ne 0 ]; then
424+ echo " [$( date -Iseconds) ] ERROR: tar failed with exit code $tar_exit " >> " ${EXEC_LOG} " 2>&1
425+ exit $tar_exit
426+ fi
402427 fi
428+ echo " [$( date -Iseconds) ] Archive creation completed successfully" >> " ${EXEC_LOG} " 2>&1
403429}
404430
405431cmd_clean ()
0 commit comments