Giter Site home page Giter Site logo

borgstractor's Introduction

Borg Examine

This is an interactive python script for extracting files from borg backup repos. It is intended to help users who are not familiar with CLIs (my family) extract files from their backups without intervention as well as for anyone who wants a little interactive help digging through their backups. Current implementation stores repo password in clear text in a configuration file. If you are not comfortable with this, you can use key-based authorization (check borg's documentation for details).

Installation

Copy the repository to somewhere in your path and make borg_examine.py executable or reference it with a shell script. I may generate "binaries" at some point but not at the moment.

Configuration

Configuration is handled by a borg-examine.conf held in $HOME/.config/borg-examine/. You can edit the example provided or the script will help you created one interactively if it is not found. If your user does not have write access to the .config directory, it will raise an error. Change the ownership or permissions and it will work correctly.

Dependencies

  • python3
  • Borg Backup - deduplicating backup program
  • I make use of the borg mount command so fuse support is required:
    • Linux: usually native, check your distro
    • macOS: install Fuse for macOS
  • You will also need the python3 llfuse package. Can be installed with pip3 install llfuse NOTE: This package will not install if your system does not have fuse support.

Usage

Currently the script presents the user with the times of all available backups and mounts the selected one. You can then copy out any files you need and it will unmount the backup at exit (as long as it closes cleanly). If the wrong backup is mounted it can run continuously unmounting and mounting backups until the user is finished. It is written to be mostly self-explanatory.

NOTE: It is not advisable to run this script as root. It may look in the root home directory for a config file and when it mounts the backup, your user will not be able to access it without elevating privileges and files copied out may have permission issues as well. If you MUST run it as root, consider becoming root with su - or sudo -s instead of just running the script with sudo, just don't break anything.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.