2 # Desc: Compresses, encrypts, and writes stdin every 5 seconds
4 yell
() { echo "$0: $*" >&2; } #o Yell, Die, Try Three-Fingered Claw technique
5 die
() { yell
"$*"; exit 111; } #o Ref/Attrib: https://stackoverflow.com/a/25515370
6 try
() { "$@" || die
"cannot $*"; } #o
7 declare -a buffer
# Initialize buffer array
11 printf "%s\n" "${buffer[@]}" |
cat |
cat |
cat >> /dev
/shm
/$
(date +%s
)..bkFreqWrite-output1.txt
;
12 printf "%s\n" "${buffer[@]}" |
cat |
cat |
cat >> /dev
/shm
/$
(date +%s
)..bkFreqWrite-output2.txt
;
13 printf "%s\n" "${buffer[@]}" |
cat |
cat |
cat >> /dev
/shm
/$
(date +%s
)..bkFreqWrite-output3.txt
;
17 # Run until script TTL seconds pass
18 while [[ $SECONDS -lt "scriptTTL" ]]; do
19 bufferTOD
="$((SECONDS + $bufferTTL))";
21 # Consume stdin to fill buffer until buffer time-of-death (TOD) arrives
22 while read -r -t "$bufferTTL" line
&& [[ $SECONDS -lt "$bufferTOD" ]]; do
23 # Append line to buffer array
25 echo "DEBUG:Processing line:$lineCount";
26 echo "DEBUG:Current line :$line";
27 echo "DEBUG:buf elem count :${#buffer[@]}";
30 # Export buffer to asynchronous processing.
32 unset buffer
; # Clear buffer array for next bufferRound
33 # Increment buffer round
37 # Author: Steven Baltakatei Sandoval