Awesome
<h1 align="center">zfs-file-history</h1> <h4 align="center">Terminal UI for inspecting and restoring file history on ZFS snapshots.</h4> <div align="center"><a href="https://asciinema.org/a/HUjG6sJCUfOp2G8b8yXjfCyc9" target="_blank"><img src="https://asciinema.org/a/HUjG6sJCUfOp2G8b8yXjfCyc9.svg" /></a>
</div>Features
- Full fledged File Explorer
- Intuitive navigation using arrow keys (and vim bindings)
- Colorful visualization "git diff" style
- Browse through Snapshots and get to the right version quickly
- Sort table entries by any column and direction
- Restore any file from any snapshot with two keytrokes
- Create/Destroy snapshots
How to use
Installation
Arch Linux
yay -S zfs-file-history-git
<details>
<summary>Community Maintained Packages</summary>
None yet
</details>Manual
Compile yourself:
git clone https://github.com/markusressel/zfs-file-history.git
cd zfs-file-history
make build
sudo cp ./bin/zfs-file-history /usr/bin/zfs-file-history
sudo chmod ug+x /usr/bin/zfs-file-history
Configuration
Note: The configuration is optional and currently only contains debugging settings.
Then configure zfs-file-history by creating a YAML configuration file in one of the following locations:
/etc/zfs-file-history/zfs-file-history.yaml
(recommended)/home/<user>/.config/zfs-file-history/zfs-file-history.yaml
./zfs-file-history.yaml
mkdir -P ~/.config/zfs-file-history
nano ~/.config/zfs-file-history/zfs-file-history.yaml
Example
An example configuration file including more detailed documentation can be found in zfs-file-history.yaml.
Dependencies
See go.mod
Similar Projects
License
zfs-file-history
Copyright (C) 2023 Markus Ressel
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.