From: Steven Baltakatei Sandoval Date: Fri, 10 Jul 2020 02:26:56 +0000 (+0000) Subject: feat(bklog):Add metadata, version X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02.git/commitdiff_plain/5938a59839cfe7148ba08e6ceabf673b36ff310b?ds=inline;hp=-c feat(bklog):Add metadata, version --- 5938a59839cfe7148ba08e6ceabf673b36ff310b diff --git a/exec/bklog b/exec/bklog index 4d75249..209dfee 100644 --- a/exec/bklog +++ b/exec/bklog @@ -1,38 +1,62 @@ #!/bin/bash # Desc: Compresses, encrypts, and writes stdin every 5 seconds +#==BEGIN Define script parameters== +#===BEGIN Initialize variables=== +# Logging Behavior parameters +scriptTTL="15"; +bufferTTL="5"; + +# Script Metadata +scriptVersion="0.1.0"; # Define version of script. +scriptName="bklog"; # Define basename of script file. + +# Arrays +declare -a buffer # Initialize buffer array + +# Variables + +#===END Initialize variables=== + +#===BEGIN Declare local script functions=== yell() { echo "$0: $*" >&2; } #o Yell, Die, Try Three-Fingered Claw technique die() { yell "$*"; exit 111; } #o Ref/Attrib: https://stackoverflow.com/a/25515370 try() { "$@" || die "cannot $*"; } #o -declare -a buffer # Initialize buffer array -scriptTTL="15"; -bufferTTL="5"; -magicWriteBuffer() { - printf "%s\n" "${buffer[@]}" | cat | cat | cat >> /dev/shm/$(date +%s)..bkFreqWrite-output1.txt; - printf "%s\n" "${buffer[@]}" | cat | cat | cat >> /dev/shm/$(date +%s)..bkFreqWrite-output2.txt; - printf "%s\n" "${buffer[@]}" | cat | cat | cat >> /dev/shm/$(date +%s)..bkFreqWrite-output3.txt; +magicProcessWriteBuffer() { + printf "%s\\n" "${buffer[@]}" | cat | cat | cat >> "/dev/shm/$(date +%s)..bkFreqWrite-output1.txt"; + printf "%s\\n" "${buffer[@]}" | cat | cat | cat >> "/dev/shm/$(date +%s)..bkFreqWrite-output2.txt"; + printf "%s\\n" "${buffer[@]}" | cat | cat | cat >> "/dev/shm/$(date +%s)..bkFreqWrite-output3.txt"; +} # Process and Write buffer +main() { + bufferRound=0; + # Run until script TTL seconds pass + while [[ $SECONDS -lt "scriptTTL" ]]; do + bufferTOD="$((SECONDS + bufferTTL))"; + lineCount=0; + # Consume stdin to fill buffer until buffer time-of-death (TOD) arrives + while read -r -t "$bufferTTL" line && [[ $SECONDS -lt "$bufferTOD" ]]; do + # Append line to buffer array + buffer+=("$line"); + echo "DEBUG:Processing line:$lineCount"; + echo "DEBUG:Current line :$line"; + echo "DEBUG:buf elem count :${#buffer[@]}"; + ((lineCount++)); + done; + # Export buffer to asynchronous processing. + magicProcessWriteBuffer & + unset buffer; # Clear buffer array for next bufferRound + # Increment buffer round + ((bufferRound++)); + done; } -bufferRound=0; -# Run until script TTL seconds pass -while [[ $SECONDS -lt "scriptTTL" ]]; do - bufferTOD="$((SECONDS + $bufferTTL))"; - lineCount=0; - # Consume stdin to fill buffer until buffer time-of-death (TOD) arrives - while read -r -t "$bufferTTL" line && [[ $SECONDS -lt "$bufferTOD" ]]; do - # Append line to buffer array - buffer+=("$line"); - echo "DEBUG:Processing line:$lineCount"; - echo "DEBUG:Current line :$line"; - echo "DEBUG:buf elem count :${#buffer[@]}"; - ((lineCount++)); - done; - # Export buffer to asynchronous processing. - magicWriteBuffer & - unset buffer; # Clear buffer array for next bufferRound - # Increment buffer round - ((bufferRound++)); -done; - -# Author: Steven Baltakatei Sandoval +#===END Declare local script functions=== +#==END Define script parameters== + +#==BEGIN Perform work and exit== +main "$@" # Run main function. +exit 0; +#==END Perform work and exit== + +# Author: Steven Baltakatei Sandoval; # License: GPLv3+