Skip to content

Terminal UI for inspecting and restoring file history on ZFS snapshots.

License

Notifications You must be signed in to change notification settings

markusressel/zfs-file-history

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zfs-file-history

Terminal UI for inspecting and restoring file history on ZFS snapshots.

Programming Language Latest Release License

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
Community Maintained Packages

None yet

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/>.