Skip to content

huobazi/dackup

Repository files navigation

Dackup

Dackup is a fullstack backup tool was written by .NET Core, that is fast, efficient and secure. It supports the three major operating systems (Linux, macOS, Windows)

dackup

Features

  • Cross-Platform (win/osx/linux).
  • Docker Container support
  • No Dependence.
  • Archive folder or files to tar.gz
  • Multiple Databases source support.
  • Multiple Storage type support.
  • Multiple Notifier type support.

Databases

Archive

Archive files or folder into a .tar.gz file.

Storages

Notifiers

Usage

Help

$ /your_path/dackup

A backup app for your server or database or desktop

Usage: dackup [options] [command]

Options:
  -?|-h|--help  Show help information

Commands:
  new           Generate a config file
  perform       Performing your backup by config

Run 'dackup [command] --help' for more information about a command.

Use arrow keys to scroll. Press 'q' to exit.

Generate config

$ /your_path/dackup new

Generate a config file

Usage: dackup new [arguments] [options]

Arguments:
  model         Name of the model

Options:
  -?|-h|--help  Show help information

Use arrow keys to scroll. Press 'q' to exit.

Perform

$ /your_path/dackup perform

Usage: dackup perform [options]

Options:
  --config-file <FILE>  Required. The File name of the config.
  --log-path <PATH>     op. The File path of the log.
  --tmp-path <PATH>     op. The tmp path.
  -?|-h|--help          Show help information

Use arrow keys to scroll. Press 'q' to exit.

Configuration

Use the subcommand new to generate a task config file, such as mockup config file

$ /your_path/dackup new my_first_task

Docker

Compiled Docker image can be pulled from: Docker Hub.

$ docker pull huobazi/dackup:latest
$ docker run --name dackup --net=host -v /config/dackup.config:/config/dackup.config huobazi/dackup perform --config-file /config/dackup.config

Crontab

$ crontab -l
0 1 * * * /your_path/dackup perform --config-file /your_path/your_first_task.config --tmp-path /your_tmp_path/first --log-path /your_log_path
0 2 * * * /your_path/dackup perform --config-file /your_path/your_second_task.config --tmp-path /your_tmp_path/second --log-path /your_log_path
0 3 * * * docker run --name dackup --net=host -v /config/dackup.config:/config/dackup.config huobazi/dackup perform --config-file /config/dackup.config

Install

You can download binary from releases page and place it in $PATH directory.

Or pull it from Docker Hub

Build

Install dotnet core sdk 3.1 then run

./release.sh

see also: Release Script

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Contributors

Contributors List.

License

MIT