From afaf55b0f18452f2e9040148a86cb1b1844848c7 Mon Sep 17 00:00:00 2001 From: Kinch Date: Thu, 7 Dec 2023 10:55:20 +0100 Subject: [PATCH] add backup.nu --- backup.nu | 27 ++++++++++++++++++++++++--- settings.nu | 0 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 settings.nu diff --git a/backup.nu b/backup.nu index d23f3a9..f790de7 100644 --- a/backup.nu +++ b/backup.nu @@ -1,7 +1,28 @@ -def call_restic [] { - run-external "restic" "-r" "/Volumes/data/backup" "backup" ~/.ssh ~/. +def settings-db-path [] { + $env.HOME | path join ".backup.db" +} + +export def "include" [...paths:path] { + $paths | into sqlite (settings-db-path) --table_name includes +} + +export def "rm include" [item:string@"list includes"] { + open (settings-db-path) | query db $"DELETE FROM includes WHERE value IS '($item)'" +} + +export def "list includes" [] { + open (settings-db-path) | get includes.value | uniq +} + +export def list [] { + ^restic snapshots --json | from json +} + +export def init [] { + ^restic init } export def main [] { - call_restic + let items = (list includes) + ^restic backup $items } \ No newline at end of file diff --git a/settings.nu b/settings.nu new file mode 100644 index 0000000..e69de29