ad some examples
This commit is contained in:
parent
0f99623f68
commit
38bd5c8355
1 changed files with 83 additions and 1 deletions
84
README.md
84
README.md
|
@ -4,9 +4,91 @@
|
|||
|
||||
[<img src="https://domaindrivenarchitecture.org/img/delta-chat.svg" width=20 alt="DeltaChat"> chat over e-mail](mailto:buero@meissa-gmbh.de?subject=community-chat) | [<img src="https://meissa.de/images/parts/contact/mastodon36_hue9b2464f10b18e134322af482b9c915e_5501_filter_14705073121015236177.png" width=20 alt="M"> meissa@social.meissa-gmbh.de](https://social.meissa-gmbh.de/@meissa) | [Blog](https://domaindrivenarchitecture.org) | [Website](https://meissa.de)
|
||||
|
||||
|
||||
Images are available at https://hub.docker.com/r/domaindrivenarchitecture/dda-backup
|
||||
|
||||
## Usage example
|
||||
|
||||
```clojure
|
||||
#!/usr/bin/env bb
|
||||
|
||||
(require '[babashka.tasks :as tasks]
|
||||
'[dda.backup.restic :as rc]
|
||||
'[dda.backup.backup :as bak]
|
||||
'[dda.backup.restore :as rs])
|
||||
|
||||
(def config {:restic-repo
|
||||
:debug true
|
||||
:restic-repository "/restic-repo"
|
||||
:password-file "/tmp/file_password"
|
||||
:new-password-file "/tmp/file_new_password"
|
||||
:backup-path "files"
|
||||
:execution-directory "/var/backups/"
|
||||
:files ["test-backup"]
|
||||
:restore-target-directory "test-restore"})
|
||||
|
||||
(defn prepare!
|
||||
[]
|
||||
(tasks/shell "mkdir" "-p" "/var/backups/test-backup")
|
||||
(spit "/var/backups/test-backup/file" "I was here")
|
||||
(tasks/shell "mkdir" "-p" "/var/backups/test-restore"))
|
||||
|
||||
(defn restic-repo-init!
|
||||
[]
|
||||
(println "\nrestic-repo-init!")
|
||||
(rc/init! config))
|
||||
|
||||
(defn restic-backup!
|
||||
[]
|
||||
(println "\nrestic-backup!")
|
||||
(bak/backup-file! config))
|
||||
|
||||
(defn list-snapshots!
|
||||
[]
|
||||
(println "\nlist-snapshots!")
|
||||
(rc/list-snapshots! config))
|
||||
|
||||
(defn restic-restore!
|
||||
[]
|
||||
(println "\nrestic-restore!")
|
||||
(rs/restore-file! config))
|
||||
|
||||
(defn change-password!
|
||||
[]
|
||||
(println "\nchange-password!")
|
||||
(rc/change-password! config))
|
||||
|
||||
(defn restic-backup-with-new!
|
||||
[]
|
||||
(println "\nrestic-backup with new!")
|
||||
(bak/backup-file! (merge {:password-file "/tmp/file_new_password"} config)))
|
||||
|
||||
(defn list-snapshots-with-new!
|
||||
[]
|
||||
(println "\nlist-snapshots with new!")
|
||||
(rc/list-snapshots! (merge {:password-file "/tmp/file_new_password"} config)))
|
||||
|
||||
|
||||
(prepare!)
|
||||
(restic-repo-init!)
|
||||
(restic-backup!)
|
||||
(list-snapshots!)
|
||||
(restic-restore!)
|
||||
(change-password!)
|
||||
(restic-backup!)
|
||||
(list-snapshots!)
|
||||
(restic-restore!)
|
||||
(restic-backup-with-new!)
|
||||
(list-snapshots-with-new!)
|
||||
|
||||
```
|
||||
|
||||
## Real Life Examples
|
||||
|
||||
see:
|
||||
|
||||
* https://repo.prod.meissa.de/meissa/c4k-taiga/src/branch/main/infrastructure/backup/image/resources
|
||||
* https://repo.prod.meissa.de/meissa/c4k-forgejo/src/branch/main/infrastructure/backup/image/resources
|
||||
|
||||
## Development & mirrors
|
||||
|
||||
Development happens at: https://repo.prod.meissa.de/meissa/dda-backup
|
||||
|
|
Loading…
Add table
Reference in a new issue