Improve docs. master
authorBernie Innocenti <bernie@codewiz.org>
Mon, 9 Aug 2021 23:27:57 +0000 (01:27 +0200)
committerBernie Innocenti <bernie@codewiz.org>
Mon, 9 Aug 2021 23:27:57 +0000 (01:27 +0200)
README.md

index 33e031f93fcc30ba1ee6ec6de9192aaa9ebf5329..1f0dda4cf338269fa3276df201b04f0dafea60ad 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,14 +1,31 @@
-== List the machines to backup ==
+Wizbackup is a minimalistic backup system based on rsync and hardlinked
+snapshots.
 
 
+Its main feature is that each backup snapshot is a plain filesystem tree, identical to the
+original. Theere's no need for a tool to restore and manage backups.
+
+There are a few downsides to this simple structure:
+ - Backups are uncompressed (unless the underlying filesystem supports transparent complression)
+ - Large files which change every day, such as logs and databases, are duplicated in each snapshot,
+   wasting space. Reflinks (aka COW-links) would solve this.
+
+
+Setup
+=====
+
+List the hosts to be backed up:
+
+```
 mkdir -p /backup/HOSTS
 cat >/backup/HOSTS/example <<__EOF__
 host1.example.com
 host2.example.com
 __EOF__
 mkdir -p /backup/HOSTS
 cat >/backup/HOSTS/example <<__EOF__
 host1.example.com
 host2.example.com
 __EOF__
+```
 
 
+Optionally, specify paths to be excluded from backups:
 
 
-== Optionally, exclude files from backups ==
-
+```
 mkdir -p /backup/EXCLUDE
 cat >/backup/EXCLUDE/ALWAYS <<__EOF__
 /dev/
 mkdir -p /backup/EXCLUDE
 cat >/backup/EXCLUDE/ALWAYS <<__EOF__
 /dev/
@@ -17,23 +34,32 @@ cat >/backup/EXCLUDE/ALWAYS <<__EOF__
 /sys/
 /selinux/
 __EOF__
 /sys/
 /selinux/
 __EOF__
+```
+
+You can also specify host-specific excludes:
 
 
+```
 cat >/backup/EXCLUDE/host1.example.com <<__EOF__
 /var/cache
 __EOF__
 cat >/backup/EXCLUDE/host1.example.com <<__EOF__
 /var/cache
 __EOF__
+```
 
 
+Install the wizbackup cronjob:
 
 
-== Install wizbackup cronjob ==
-
+```
 cat >/etc/cron.daily/wizbackup <<__EOF__
 #!/bin/bash
 wizbackup-driver /backup/HOSTS/example /backup
 __EOF__
 cat >/etc/cron.daily/wizbackup <<__EOF__
 #!/bin/bash
 wizbackup-driver /backup/HOSTS/example /backup
 __EOF__
+```
 
 
+Create an ssh keypair for each host:
 
 
-== Create an ssh keypair for the hosts ==
-
+```
 mkdir -p /etc/wizbackup
 ssh-keygen -N '' -c "wizbackup@example.com" -f /etc/wizbackup/ssh_id
 ssh-copy-id -f /etc/wizbackup/ssh_id.pub root@host1.example.com
 ssh-copy-id -f /etc/wizbackup/ssh_id.pub root@host2.example.com
 mkdir -p /etc/wizbackup
 ssh-keygen -N '' -c "wizbackup@example.com" -f /etc/wizbackup/ssh_id
 ssh-copy-id -f /etc/wizbackup/ssh_id.pub root@host1.example.com
 ssh-copy-id -f /etc/wizbackup/ssh_id.pub root@host2.example.com
+```
+
+That's it!