Giter Site home page Giter Site logo

hubic-backup's Introduction

hubic-backup

hubiC backup command line tool for linux & OSX

Features

  • Exclude files using wildcards
  • Aes 256bits encryption (openssl interop)
  • Upload only modified files
  • Logging support using excellent spdlog library
  • Multi threading support
  • Incremental backup

Limitations

Dependencies

Library Ubuntu package
libcurl libcurl4-openssl-dev
boost-system libboost-system-dev
boost-filesystem libboost-filesystem-dev
boost-regex libboost-regex-dev
boost-program-options libboost-program-options-dev
jsonxx n/a : embedded

Setup

Linux (Ubuntu)

Triple-click on lines to select them.

# Install build tools
sudo apt-get install git build-essential autoconf automake
# Clone this repository
git clone https://github.com/frachop/hubic-backup.git && cd hubic-backup/
# Install dependencies 
sudo apt-get install libboost-system-dev libcurl4-openssl-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libssl-dev
# Launch automake
aclocal && automake && autoconf
# Build sources
./configure && make all
# Use the binary file
cp -v src/hubic-backup /usr/local/bin/

Usage

Description

Usage: hubic-backup [OPTIONS]

general:
  -h [ --help ]                      this message
  -v [ --version ]                   display version infos
  --loglevel arg (=trace)            select the log level. ('trace', 'debug', 
                                     'info', 'notice', 'warning', 'error', 
                                     'critical', 'alert' or 'emerg')

auth:
  -l [ --login ] arg                 hubic login
  -p [ --pwd ] arg                   hubic password

source:
  -i [ --src ] arg                   source folder
  -x [ --excludes ] arg              optional exclude file list path
  --fingerprint-md5                  force local md5 computation to compare 
                                     with destination file. CPU expansive

destination:
  -c [ --container ] arg (=default)  destination hubic container
  -o [ --dst ] arg                   destination folder
  -k [ --crypt-password ] arg        optional crypto password
  -d [ --del-non-existing ]          allow deleting non existing backup files

Simple example

hubic-backup \
	--login <hubicLogin> \
	--pwd <hubicPassword> \
	--src /src/path/to/save/ \
	--dst hubic/backup/dir \
	--crypt-password @my8eau7ifulPa55w0rd!		

You can specify a particular container with --container {containerName} option.

You can specify a path to a file with excludes wildcards: --excludes /path/of/exclude/file.txt

Example of exclude file:

.*
tmp*
?tmpDir

To restore files, use any swift client or hubic browser interface. Then, if files are encrypted, use the command line: openssl enc -aes-256-cbc -d -in <source path> -out <destination path> -k <password> to decrypt it.

hubic-backup's People

Contributors

emmanuelgautier avatar frachop avatar szepeviktor avatar

Watchers

 avatar  avatar

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.