Create snapshots
This software has not been stabilized yet and must not be used as your primary backup tool. You've been warned!
Each snapshot has a unique hash (which is actually a BLAKE3 hash in hexadecimal form), which is generated automatically when the snapshot is created.
You need to give snapshots a name (or use --anonymous
to skip this). This name does not have to be unique and only exists to help you categorize snapshots.
export REKKORD_CONFIG_FILE=/path/to/config.ini
rekkord save -n <NAME> <PATHS...>
The command will give you the snapshot hash once it finishes. You can retrieve the hash later with rekkord list.
List snapshots
export REKKORD_CONFIG_FILE=/path/to/config.ini
rekkord snapshots
The output looks something like this:
# <hash> <name> <date>
DA24E2C01C2AF6ACADF94FED087FD2695DF1E5352FA5474E091DABE38A104641 webserver1 [2023-11-26 06:09:57 +0100]
96389F2763173C9575C85A9D8972FE8DC06FC220BA7A05A673D7C19E520C22EB webserver1 [2023-11-27 06:05:15 +0100]
221FA094C07FAABA1A6B8710EED613F441410C95855D69653A2BDCBB590C8E9F webserver1 [2023-11-28 06:18:15 +0100]
Use --format JSON
or --format XML
to get this list in a JSON or XML format.
Explore snapshot
You can list the directories and files in a snapshot with the rekkord list
command. You need to know the unique snapshot hash for this.
export REKKORD_CONFIG_FILE=/path/to/config.ini
rekkord list <HASH>
The output looks something like this:
# <type> <name> <mode> <date> <size>
[S] vpn/opt [2023-12-15 06:18:10 +0100]
[D] opt/ (0755) [2023-10-05 17:03:38 +0200]
You can recursively list the content with rekkord list <hash> --recurse
flag:
# <type> <name> <mode> <date> <size>
[S] vpn/opt [2023-12-15 06:18:10 +0100]
[D] opt/ (0755) [2023-10-05 17:03:38 +0200]
[D] certificates/ (0750) [2023-12-13 09:43:10 +0100]
[F] cloud.intra.example.com.key (0640) [2023-12-13 09:43:10 +0100] 241 B
[F] forum.intra.example.com.crt (0640) [2023-12-13 09:43:10 +0100] 5.269 kB
[D] agnos/ (0755) [2023-10-02 12:38:29 +0200]
[D] certificates/ (0750) [2023-10-02 12:38:50 +0200]
[F] cloud.intra.example.com.key (0640) [2023-11-20 23:26:06 +0100] 241 B
[F] forum.intra.example.com.crt (0640) [2023-11-20 23:26:07 +0100] 5.269 kB
[F] agnos (0755) [2023-09-21 16:53:54 +0200] 11.24 MB
[F] agnos.toml (0644) [2023-10-02 12:38:28 +0200] 1.893 kB
[D] accounts/ (0750) [2023-09-21 16:53:55 +0200]
[F] main.key (0644) [2023-09-21 16:53:56 +0200] 3.243 kB
[D] rekkord/ (0755) [2023-12-13 15:38:23 +0100]
[F] ENV (0600) [2023-10-05 17:03:45 +0200] 186 B
[F] rekkord.sh (0755) [2023-12-13 15:37:58 +0100] 102 B
[F] rekkord.deb (0644) [2023-12-11 20:45:18 +0100] 5.348 MB
[D] wireguard/ (0755) [2023-09-21 14:28:46 +0200]
[D] safe/ (0755) [2023-09-21 15:59:39 +0200]
[F] docker-compose.yml (0644) [2023-09-21 14:28:47 +0200] 408 B
[F] ENV (0600) [2023-09-21 15:59:39 +0200] 209 B
[D] etc/ (0700) [2023-09-21 14:29:06 +0200]
[F] wg0.json (0640) [2023-12-10 06:00:19 +0100] 7.969 kB
[F] wg0.conf (0600) [2023-12-10 06:00:19 +0100] 4.025 kB
[D] rclone/ (0755) [2023-10-05 15:32:04 +0200]
[F] rclone.cfg (0644) [2023-10-05 15:32:04 +0200] 3.705 kB
[F] rclone.deb (0644) [2023-09-21 14:26:52 +0200] 18.55 MB
[D] coredns/ (0755) [2023-12-13 09:42:56 +0100]
[F] coredns.tar.gz (0644) [2023-09-21 16:50:53 +0200] 15.79 MB
[F] coredns.conf (0644) [2023-09-21 16:50:56 +0200] 132 B
[F] domains.zone (0644) [2023-12-13 09:42:55 +0100] 505 B
[F] coredns (0755) [2023-02-06 19:27:11 +0100] 53.41 MB
[D] nginx/ (0755) [2023-12-11 20:44:06 +0100]
[D] ssl/ (0755) [2023-12-11 20:43:55 +0100]
[D] webroot/ (0755) [2023-09-21 14:28:34 +0200]
[D] vpn.example.com/ (0755) [2023-11-20 19:10:04 +0100]
[F] dhparam.pem (0644) [2023-09-21 14:28:21 +0200] 424 B
[D] letsencrypt/ (0755) [2023-12-11 20:44:22 +0100]
[L] vpn.example.com.crt [2023-12-11 20:44:22 +0100]
[L] 57.128.60.175.key [2023-12-11 20:44:07 +0100]
[L] vpn.example.com.key [2023-12-11 20:44:19 +0100]
[L] 57.128.60.175.crt [2023-12-11 20:44:07 +0100]
[D] internal/ (0755) [2023-12-13 09:43:27 +0100]
[F] ca.crt (0644) [2023-12-13 09:43:24 +0100] 1.883 kB
[F] vpn.crt (0644) [2023-12-13 09:43:26 +0100] 1.891 kB
[F] vpn.key (0644) [2023-12-13 09:43:25 +0100] 1.704 kB
[F] nginx.conf (0644) [2023-12-11 20:44:06 +0100] 7.086 kB
Use --format JSON
or --format XML
to get the file tree in a JSON or XML format.
Restore snapshot
Use the rekkord restore
command to restore the files from a snapshot onto the local filesystem. You need to know the unique snapshot hash for this.
export REKKORD_CONFIG_FILE=/path/to/config.ini
rekkord restore <HASH> -O <PATH>
Mount snapshot
You can also use rekkord mount <hash> <mountpoint>
to mount a snapshot or a directory as a read-only filesystem.
export REKKORD_CONFIG_FILE=/path/to/config.ini
rekkord mount <HASH> <MOUNTPOINT>
This mode has several limitations for now:
- Only Linux is supported for now, though support for FreeBSD, OpenBSD and Windows will soon come.
- Performance (for listing directories and reading files) is slower than with the dedicated commands.
But the goal is to reach performance similar to other commands once Rekkord 1.0 is released.