aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@users.noreply.github.com>2022-07-05 04:53:10 -0400
committertdro <tdro@users.noreply.github.com>2022-07-05 04:53:10 -0400
commit37ed2cbaf7a321c2fa8a0e14d460907ee2db41c6 (patch)
tree0c40dae1f0b42383b4a828525f63ec82d4a47454
parent7e2922bf1ea661fe430cf94e2532c8ace08223ec (diff)
downloaddotfiles-37ed2cbaf7a321c2fa8a0e14d460907ee2db41c6.tar.gz
dotfiles-37ed2cbaf7a321c2fa8a0e14d460907ee2db41c6.tar.bz2
dotfiles-37ed2cbaf7a321c2fa8a0e14d460907ee2db41c6.zip
.local/bin/bashhistory: Create append only backup
-rwxr-xr-x.local/bin/bashhistory7
1 files changed, 4 insertions, 3 deletions
diff --git a/.local/bin/bashhistory b/.local/bin/bashhistory
index 6320834..47eb762 100755
--- a/.local/bin/bashhistory
+++ b/.local/bin/bashhistory
@@ -11,9 +11,6 @@ _prune() {
sort --unique "$1" | sponge "$1" # Remove all duplicate entries.
}
-mkdir --parents "$directory"
-touch "$current"
-
_migrate() {
[ -f "$default" ] &&
cat "$default" >>"$persist" &&
@@ -23,9 +20,13 @@ _migrate() {
_store() {
cat "$current" >> "$persist" &&
+ cat "$current" >> "$persist.bak" &&
_prune "$persist" &&
true > "$current"
}
+mkdir --parents "$directory"
+touch "$current"
+
_migrate || true
_store