Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/markusressel/zfs-file-history

Terminal UI for inspecting and restoring file history on ZFS snapshots.
https://github.com/markusressel/zfs-file-history

hacktoberfest management recovery snapshot snapshots zfs zfs-file-history zfs-snapshots zfsonlinux

Last synced: 16 days ago
JSON representation

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

Awesome Lists containing this project

README

        

zfs-file-history


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

[![Programming Language](https://img.shields.io/badge/Go-00ADD8?logo=go&logoColor=white)]()
[![Latest Release](https://img.shields.io/github/release/markusressel/zfs-file-history.svg)](https://github.com/markusressel/zfs-file-history/releases)
[![License](https://img.shields.io/badge/license-AGPLv3-blue.svg)](/LICENSE)

# Features

* [x] Full fledged File Explorer
* [x] Intuitive navigation using arrow keys (and vim bindings)
* [x] Colorful visualization "git diff" style
* [x] Browse through Snapshots and get to the right version quickly
* [x] Sort table entries by any column and direction
* [x] Restore any file from any snapshot with two keytrokes
* [x] Create/Destroy snapshots

# How to use

## Installation

### Arch Linux ![](https://img.shields.io/badge/Arch_Linux-1793D1?logo=arch-linux&logoColor=white)

```shell
yay -S zfs-file-history-git
```

Community Maintained Packages

None yet

### Manual

Compile yourself:

```shell
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//.config/zfs-file-history/zfs-file-history.yaml`
* `./zfs-file-history.yaml`

```shell
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](/zfs-file-history.yaml).

# Dependencies

See [go.mod](go.mod)

# Similar Projects

* [zfs-snap-diff](https://github.com/j-keck/zfs-snap-diff)
* [snapshot-explorer](https://github.com/atheriel/snapshot-explorer)

# 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 .
```