Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:38:01 +0000 (20:38 +0000)]
chore(bkgpslog):Minor comment cleanup
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:31:53 +0000 (20:31 +0000)]
fix(bkgpslog):Simplify main loop further
Move `gpspipe` command itself into write function.
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:12:59 +0000 (20:12 +0000)]
fix(bkgpslog):Add missing gpspipe option
Need `-o` to write to file.
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 19:49:50 +0000 (19:49 +0000)]
fix(bkgpslog):Reduce logging downtime between buffer rounds
Reduce logging downtime between buffer rounds by moving commands into
the asynchronous `magicWriteBuffer()` function that is spun off
immediately after `gpspipe` has collected data.
Add functionality to `dateTimeShort()` and `dateShort` so the start
time of each saved chunk appended to the `tar` archive can be
calculated indirectly from when `magicWriteBuffer()` starts rather
than performing slow `date` and associated bash variable changes in
the main loop. This start time is needed to name each inserted file as
well as to identify which `tar` file to insert into.
Save gpspipe buffer data `/dev/shm` instead of a Bash variable.
Add `appendFileTar()` function to facilitate reading and processing of
buffer data from `/dev/shm`.
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 17:16:28 +0000 (17:16 +0000)]
doc(bkgpslog):Add note to simplify main loop
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 23:46:10 +0000 (23:46 +0000)]
fix(bkgpslog):Increase buffer period 60s to 5m to reduce write freq
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:15:45 +0000 (22:15 +0000)]
fix(bkgpslog):Remove debug yells
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:12:58 +0000 (22:12 +0000)]
style(bkgpslog):checkMakeTar():Add/remove debug code
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:00:42 +0000 (22:00 +0000)]
test(bkgpslog):Bump version number to 0.3.0
Incompatible changes from 0.2:
- File writes asynchronous from main script forced to be sequential to
one another to avoid simultaneous writes to same file. Tar write code
consolidated.
- VERSION file format changed to include more fields. VERSION file
generation code cosolidated.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 21:55:50 +0000 (21:55 +0000)]
fix(bkgpslog):Clarify echoed newlines per Shellcheck
Changed echo "blah""\n""blah" into echo "blah""\\n""blah"
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 21:54:26 +0000 (21:54 +0000)]
style(bkgpslog):Update timeDuration
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 21:23:34 +0000 (21:23 +0000)]
feat(bkgpslog):Include more fields in VERSION
These fields are included to automatically-generated VERSION file
included when a new tar is generated or the script is restarted:
- SCRIPT_VERSION : Version of bkgpslog being run.
- SCRIPT_NAME : Name of the script being run ("bkgpslog").
- SCRIPT_URL : URL where script can be downloaded.
- AGE_VERSION : Version of age (encryption program) used.
- AGE_URL : URL where age can be downloaded.
- DATE : Creation timestamp (ISO-8601).
- HOSTNAME : Hostname of device running script.
- PUBKEY_[n] : Pubkey string used by age to encrypt.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 20:52:09 +0000 (20:52 +0000)]
chore(bkgpslog):bump to version 0.2.1 from 0.2.0
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 20:51:06 +0000 (20:51 +0000)]
feat(bkgpslog):Change format in VERSION file
From one line to multiline
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 20:22:37 +0000 (20:22 +0000)]
doc(bkgpslog):Update plan doc
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 20:13:03 +0000 (20:13 +0000)]
feat(bkgpslog): Consolidate VERSION writing, update functions
Bump version to 0.2.0 from 0.1.0.
style(timeUntilNextDay()). Set as version 1.0.0. Lowercased
returnState variable messages in function return code handling.
fix(timeDuration()). Fix missing $ in bash variable. Set to Version
1.0.0. Removed unused boolean variables.
feat(magicWriteVersion()): Add function to consolidate how VERSION
file is generated; VERSION file can be generated at start or if output
tar goes missing.
feat(magicWriteBuffer()): Take checkMakeTar() exit status into account
in order to determine whether or not to rerun
magicWriteVersion(). Relevant if output tar archive goes missing.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 19:12:31 +0000 (19:12 +0000)]
feat(bkgpslog):Include exit codes in checkMakeTar
The change is necessary to decide if VERSION file must be added in
case output tar is deleted between writes.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 18:34:46 +0000 (18:34 +0000)]
feat(bkgpslog):Consolidate tar validation/creation
Consolidate how output tar file is validated (if it already exists)
and/or created. checkMakeTar() function added for this purpose.
Add checkMakeTar() in `magicWriteBuffer()` in case output tar file is
deleted between writes.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 16:05:04 +0000 (16:05 +0000)]
feat(bkgpslog):Force ordered write operations with wait
Use `wait` built-in to force each detached process that appends
location data to the output tar to wait until all other detached
processes complete. This will prevent the magicWriteBuffer() and
appendArgTar() functions from attempting to append to the same tar at
the same time, causing script failure.
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 14:54:12 +0000 (14:54 +0000)]
debug(bkgpslog):Minor syntax formatting: add semicolons
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:30:41 +0000 (01:30 +0000)]
fix(bkgpslog):Fix command strings in magicWriteBuffer
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:24:30 +0000 (01:24 +0000)]
fix(bkgpslog):Move chunk cleanup into magicWriteBuffer func
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:22:12 +0000 (01:22 +0000)]
fix(bkgpslog):Disable old tar append code
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:19:24 +0000 (01:19 +0000)]
debug(bkgpslog):Add debug messages for functions
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:10:02 +0000 (01:10 +0000)]
fix(bkgpslog):Arg index error in appendArgTar()
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 01:08:10 +0000 (01:08 +0000)]
debug(bkgpslog):Add more debug data
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 00:55:23 +0000 (00:55 +0000)]
feat(bkgpslog):Consolidate write ops into one function
Create metafunction 'magicWriteBuffer' to be triggered for
asynchronous appending of location files into tar file via
appendArgTar function (new) once buffer filled in main logging loop.
Create appendArgTar function to append a bash variable as a file to a
tar file.
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 22:06:58 +0000 (22:06 +0000)]
debug(bkgpslog):testing debug of gpx kml output
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:42:21 +0000 (21:42 +0000)]
fix(bkgpslog):Fix output files having the same names
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:25:00 +0000 (21:25 +0000)]
feat(bkgpslog):Added debug message when main function completes
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:23:28 +0000 (21:23 +0000)]
fix(bkgpslog):Clean up how tar appended, version file included
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:18:02 +0000 (21:18 +0000)]
chore(bkgpslog):Add timestamp to version content.
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:15:32 +0000 (21:15 +0000)]
chore(bkgpslog):Include version in appendtest
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:07:54 +0000 (21:07 +0000)]
debug(bkgpslog):Clarified debug messages
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 21:03:59 +0000 (21:03 +0000)]
fix(bkgpslog):Fix secure chunk cleanup code
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:59:08 +0000 (20:59 +0000)]
debug(bkgpslog):Add more debug messages; clarified tar workdir
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:51:42 +0000 (20:51 +0000)]
debug(bkgpslog):Add more verbose debug messages
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:47:02 +0000 (20:47 +0000)]
debug(bkgpslog):Add more verbose debug code
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:42:23 +0000 (20:42 +0000)]
debug(bkgpslog):Add additional debug for output file path vars
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:29:22 +0000 (20:29 +0000)]
fix(bkgpslog):Minor formatting
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:27:41 +0000 (20:27 +0000)]
feat(bkgpslog):Append to preexisting tar if possible
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:04:26 +0000 (20:04 +0000)]
fix(bkgpslog):Add missing shifts in processArguments()
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 20:02:09 +0000 (20:02 +0000)]
feat(bkgpslog):Add more verbose error message in processArguments()
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 19:57:29 +0000 (19:57 +0000)]
fix(bkgpslog):Fix incorrectly selected argument
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 19:51:23 +0000 (19:51 +0000)]
doc(bkgpslog): Update usage
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 19:45:22 +0000 (19:45 +0000)]
feat(bkgpslog): Remove termproary working dir at end
- Remove temporary working directory at end of main function.
- Initialize option variables in case they are set earlier.
- Add `--temp-dir` option to permit user to specify temporary working
directory.
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 19:25:47 +0000 (19:25 +0000)]
fix(bkgpslog): Fix broken working dir name
- Fix broken working dir variable (was missing script start time)
- Remove UTC as default TZ (will use parent shell's env var TZ). Can
still be customized using `--time-zone` option
- Add logic for creating temporary working directory for possible
future `--temp-dir` option. Working dir hard defaults to
`/dev/shm` (tmpfs) for now.
Steven Baltakatei Sandoval [Wed, 1 Jul 2020 18:44:52 +0000 (18:44 +0000)]
feat(bkgpslog): Append to daily tar
* Set version to 0.1.0.
* Rewrote write loop to append location data to tar file instead of
writing each file written by each buffer round directly to
disk. Tar contains individually encrypted and compressed files; no
attempt at merging location data between buffer rounds was attempted.
* Add functions:
- setTimeZoneEV (exports TZ)
- dateShort (returns current date in `YYYYmmdd` format via stdout)
- timeDuration (given seconds, returns ISO-8601 period; Ex: PT60S)
- displayMissing (displays missing apps, files, and dirs)
- setScriptTTL (sets script TTL given "day" or "hour")
* Set default script TTL to "day" (was "hour")
* Set default TZ to UTC. Added option `--time-zone`.
Steven Baltakatei Sandoval [Tue, 30 Jun 2020 19:46:30 +0000 (19:46 +0000)]
doc(loc/README): Show how to disable swap file
Disabling swap file is important for reducing probability that
unencrypted data is written to disk.
Steven Baltakatei Sandoval [Tue, 30 Jun 2020 17:15:30 +0000 (17:15 +0000)]
doc(location):Describe how to disable swap file
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 22:28:33 +0000 (22:28 +0000)]
doc(location):Add html version of location README
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 22:26:06 +0000 (22:26 +0000)]
doc(location): Updated README for loc, exported ODT version
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 22:10:13 +0000 (22:10 +0000)]
feat(bkgpslog):Add ~/.local/bin to PATH
If apps for bkgpslog stored in `~/.local/bin`, make sure to add it to
front of PATH.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 22:07:39 +0000 (22:07 +0000)]
doc(location):Update README with compress and encrypt example
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 22:06:35 +0000 (22:06 +0000)]
fix(bkgpslog):Add quotation marks for output path vars
May be necessary if path specified by `--output` option contains
whitespace.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 21:41:35 +0000 (21:41 +0000)]
test(bkgpslog): Test 'tee /dev/null' as passthrough-function
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 21:26:58 +0000 (21:26 +0000)]
test(bkgpslog):Group all processing and save commands
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 21:21:17 +0000 (21:21 +0000)]
fix(bkgpslog):Add missing dollarsign to vars
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 21:17:25 +0000 (21:17 +0000)]
test(bkgpslog): Regroup file write commands
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 21:01:44 +0000 (21:01 +0000)]
test(bkgpslog):Construct command string as var before executing
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 20:44:48 +0000 (20:44 +0000)]
fix(bkgpslog):Fix file write command
Removed quotation marks so command chars taken literally, not treated
as a word.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 20:32:34 +0000 (20:32 +0000)]
fix(bkgpslog):Add missing fi
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 20:30:50 +0000 (20:30 +0000)]
feat(bkgpslog):Implement compression and encryption
Add compression option.
Implement compression of output files.
Implement encryption of output files.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 19:46:35 +0000 (19:46 +0000)]
test(bkgpslog):Add age recipient string processing code
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 19:31:21 +0000 (19:31 +0000)]
feat(bkgpslog):Add encryption option
Add encryption option via `age`. See:
https://github.com/FiloSottile/age .
Add `-e, --encrypt` option for specifying output to be encrypted.
Add `-r --recipient [ pubkey string ]` option for specifying
recipients of encrypted output.
Add code to validate recipient pubkey strings.
Not added (yet): encryption of output files.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 18:40:04 +0000 (18:40 +0000)]
doc(README.org):Update main README
All major sections populated. `age` use described.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 16:26:16 +0000 (16:26 +0000)]
fix(bkgpslog):processArguments: Shorten short option strings
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 16:06:23 +0000 (16:06 +0000)]
doc(location):Add README for location logging, add age ref files
Create draft of README for Location Logging operations performed by
ninfacyzga-01.
Add copy of age encryption software (v1.0.0-beta2 binaries compatible
with Raspbian) and age version 1 specification.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 11:56:07 +0000 (11:56 +0000)]
feat(archive):Add baltakatei OpenPGP public key
Fingerprint:
pub rsa4096/0xA0A295ABDC3469C9 2017-10-11 [C] [expires: 2022-07-08]
Key fingerprint = 3457 A265 922A 1F38 39DB 0264 A0A2 95AB DC34 69C9
uid [ultimate] Steven Sandoval <baltakatei@gmail.com>
uid [ultimate] Steven Sandoval <baltakatei@alumni.stanford.edu>
uid [ultimate] [jpeg image of size 1846]
sub rsa4096/0x6DD7D496916A1253 2018-05-16 [E] [expires: 2022-07-07]
Key fingerprint = 5E55 5FC6 1C85 871E 813B 5BCF 6DD7 D496 916A 1253
sub rsa4096/0x57DA57D9517E6F86 2018-05-16 [S] [expires: 2022-07-07]
Key fingerprint = 38F9 6437 C83A C88E 28B7 A952 57DA 57D9 517E 6F86
sub rsa4096/0x5F9D26B9A598A2D3 2018-05-16 [A] [expires: 2022-07-07]
Key fingerprint = EDCA 7EE7 D09E 7F2E 1DF6 A229 5F9D 26B9 A598 A2D3
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 11:50:38 +0000 (11:50 +0000)]
fix(bkgpslog):Comment out debug code causing /var/mail/ noise
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 11:43:35 +0000 (11:43 +0000)]
feat(bkgpslog):Enable hour TTL, cleanup functions
Enable a new feature that breaks the while loop at the top of the next
hour.
Include commented-out code to break while loop at the top of the next
day.
Set buffer round time to 60 seconds (nominal time between writing of
buffer data to a new file on disk).
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 01:47:45 +0000 (01:47 +0000)]
chore(bkgpslog):Remove unsetting of superfluous vars
Variables were removed in streamlining of buffer processing.
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 01:42:10 +0000 (01:42 +0000)]
fix(bkgpslog):Fix malformed variable in output filename
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 01:37:46 +0000 (01:37 +0000)]
chore(bkgpslog):Add comment noting ISO-8601 format of filename
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 01:36:15 +0000 (01:36 +0000)]
fix(bkgpslog):Added quotes back to variable
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 01:33:34 +0000 (01:33 +0000)]
feat(bkgpslog):Directly convert and write buffer to GPX, KML
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 00:37:20 +0000 (00:37 +0000)]
fix(bkgpslog):Make sure buffer variables are unset each round
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 00:32:58 +0000 (00:32 +0000)]
fix(bkgpslog):Explicitly write instead of append buffer
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 00:23:52 +0000 (00:23 +0000)]
fix(bkgpslog):Fix malformed xml by saving 1 file per buffer round
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 00:18:39 +0000 (00:18 +0000)]
fix(bkgpslog):Fix incorrect gpsbabel output option for KML file
Steven Baltakatei Sandoval [Mon, 29 Jun 2020 00:10:41 +0000 (00:10 +0000)]
feat(bkgpslog):Testing longer buffer and script lifespan
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:53:27 +0000 (23:53 +0000)]
feat(bkgpslog):Add GPX KML output from buffer
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:36:17 +0000 (23:36 +0000)]
feat(bkgpslog):Implement buffer for saving gpspipe stream
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:21:16 +0000 (23:21 +0000)]
feat(bkgpslog):Minor:Add debugCounter to buffer session notif
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:19:47 +0000 (23:19 +0000)]
feat(bkgpslog):Minor debug message for each buffer round
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:17:12 +0000 (23:17 +0000)]
fix(bkgpslog):How --output option is parsed
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 23:13:14 +0000 (23:13 +0000)]
fix(bkgpslog):Minor checkdir edge case for no argument
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 22:57:31 +0000 (22:57 +0000)]
fix(bkgpslog):Apply shellcheck corrections
- Misuse of array and string ("$@" instead of "$*" in error messages)
- Incorrect comparison ( [ "" -eq "" ] instead of [ "" = "" ] )
- Missing quotation marks around string variable.
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 22:38:00 +0000 (22:38 +0000)]
fix(bkgpslog):Remove error in how output dir is specified
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 20:54:04 +0000 (20:54 +0000)]
feat(exec):Add initial draft of pressure logging script
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 20:40:12 +0000 (20:40 +0000)]
fix(bkgpslog):Updated draft of bkgpslog script
Added several functions. Script untested.
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 16:50:50 +0000 (16:50 +0000)]
feat(bkgpslog):Add yell, die, try functions
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 16:50:04 +0000 (16:50 +0000)]
chore(location):Remove date from bkgpslog script
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 16:48:11 +0000 (16:48 +0000)]
feat(location):Add script to log gps via Ozzmaker BerryGPS-IMU
Steven Baltakatei Sandoval [Sun, 28 Jun 2020 16:46:01 +0000 (16:46 +0000)]
chore(README.md):Add toc to README
Steven Baltakatei Sandoval [Thu, 11 Jun 2020 06:56:42 +0000 (06:56 +0000)]
feat(README.md) Initial commit
Created README.md describing project.