about summary refs log tree commit diff stats
path: root/share
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2021-01-13 11:29:00 +0530
committerAndinus <andinus@nand.sh>2021-01-13 11:29:00 +0530
commitc0a2300b52c682975fbe365de21547db71d18a38 (patch)
treeb1d7c030badefbcf81c23f4a2eb97ed1899d4791 /share
parent8aee745720995831cfe2a288d0945ce20f677a0e (diff)
downloadleo-c0a2300b52c682975fbe365de21547db71d18a38.tar.gz
Port leo to Raku HEAD v0.6.0 master
This is a huge change. I had some more ideas in mind but I won't be
able to work on them. leo's raku version can be improved.

I'm personally using the Raku version because the rotate feature is
nice.
Diffstat (limited to 'share')
-rw-r--r--share/leo.126
-rw-r--r--share/leo.toml25
2 files changed, 51 insertions, 0 deletions
diff --git a/share/leo.1 b/share/leo.1
new file mode 100644
index 0000000..cfd3d73
--- /dev/null
+++ b/share/leo.1
@@ -0,0 +1,26 @@
+.TH LEO 1 "04 January 2021" "v0.6.0"
+
+.SH NAME
+leo \- a simple backup program
+.SH SYNOPSIS
+.B leo
+[-v|--verbose] [--version] <action> [<profiles> ...]
+.P
+.SH DESRIPTION
+.B leo
+is a simple backup program. It creates tar(1) files from a pre-defined
+list. It can also encrypt/sign files with gpg2(1).
+
+I use this to quickly backup some of my files. It works on profiles,
+profiles are simple lists of files which get backed up.
+.SH ACTIONS
+The actions are as follows:
+.TP
+.B backup
+Backup the given profile.
+.TP
+.B rotate
+Rotate the given profile's backups.
+.TP
+.SH AUTHOR
+Andinus <andinus@nand.sh>
diff --git a/share/leo.toml b/share/leo.toml
new file mode 100644
index 0000000..0336d4e
--- /dev/null
+++ b/share/leo.toml
@@ -0,0 +1,25 @@
+backup = "/tmp/backups"
+base_dir = "/home/andinus" # Default base_dir.
+
+[gpg] # GnuPG related configuration.
+sign = true
+encrypt = true
+
+fingerprint = "andinus@nand.sh"
+recipients = ["D9AE4AEEE1F1B3598E81D9DFB67D55D482A799FD"]
+
+[rotate]
+hold = 1 # Hold these many old backups.
+keep = 2 # Keep these many latest backups.
+
+[profiles]
+[profiles.journal]
+encrypt = false
+paths = ["journal.org.gpg"]
+      [profiles.journal.rotate]
+      hold = 2
+      keep = 4
+
+[profiles.projects]
+base_dir = "/home/andinus/projects"
+# Not specifying paths is okay, it'll just archive base_dir.