48 lines
1.2 KiB
Clojure
Executable file
48 lines
1.2 KiB
Clojure
Executable file
#!/usr/bin/env bb
|
|
(require
|
|
'[babashka.fs :as fs])
|
|
(-> "/usr/local/bin/config.clj" fs/file load-file)
|
|
|
|
(require '[babashka.tasks :as tasks]
|
|
'[dda.backup.core :as bc]
|
|
'[dda.backup.restic :as rc]
|
|
'[dda.backup.postgresql :as pg]
|
|
'[dda.backup.backup :as bak]
|
|
'[dda.backup.restore :as rs]
|
|
'[config :as cf])
|
|
|
|
(defn prepare!
|
|
[]
|
|
(println (bc/env-or-file "RESTIC_PASSWORD_FILE"))
|
|
(println (bc/env-or-file "ENV_PASSWORD"))
|
|
(tasks/shell "mkdir" "-p" "/var/backups/")
|
|
(spit "/var/backups/file" "I was here")
|
|
(tasks/shell "mkdir" "-p" "/var/restore"))
|
|
|
|
(defn restic-repo-init!
|
|
[]
|
|
(rc/init! (merge cf/file-config cf/dry-run))
|
|
(rc/init! (merge cf/db-config cf/dry-run)))
|
|
|
|
(defn restic-backup!
|
|
[]
|
|
(bak/backup-file! cf/file-config)
|
|
(bak/backup-db! (merge cf/db-config cf/dry-run)))
|
|
|
|
(defn list-snapshots!
|
|
[]
|
|
(rc/list-snapshots! cf/file-config)
|
|
(rc/list-snapshots! (merge cf/db-config cf/dry-run)))
|
|
|
|
|
|
(defn restic-restore!
|
|
[]
|
|
(rs/restore-file! cf/file-config)
|
|
(pg/drop-create-db! (merge cf/db-config cf/dry-run))
|
|
(rs/restore-db! (merge cf/db-config cf/dry-run)))
|
|
|
|
(prepare!)
|
|
(restic-repo-init!)
|
|
#(restic-backup!)
|
|
#(list-snapshots!)
|
|
#(restic-restore!)
|