Fix #1: fixed broken initialization check under S3
autorestic
High backup level CLI utility for restic.
Autorestic is a wrapper around the amazing restic. While being amazing the restic cli can be a bit overwhelming and difficoult to manage if you have many different location that you want to backup to multiple locations. This utility is aimed at making this easier 🙂
🌈 Features
- Config files, no CLI
- Predictable
- Backup locations to multiple backends
- Simple interface
- Fully encrypted
Installation
curl -s https://raw.githubusercontent.com/CupCakeArmy/autorestic/master/install.sh | bash
🚀 Quickstart
Setup
First we need to configure our locations and backends. Simply create a .autorestic.yml either in your home directory of in the folder from which you will execute autorestic.
Optionally you can specify the location of your config file by passing it as argument: autorestic -c ../path/config.yml
locations:
home:
from: /home/me
to: remote
important:
from: /path/to/important/stuff
to:
- remote
- hdd
backends:
remote:
type: b2
path: 'myBucket:backup/home'
B2_ACCOUNT_ID: account_id
B2_ACCOUNT_KEY: account_key
hdd:
type: local
path: /mnt/my_external_storage
Then we check if everything is correct by running the check command. We will pass the -a (or --all) to tell autorestic to check all the locations.
autorestic check -a
If we would check only one location we could run the following: autorestic -l home check.
Backup
autorestic backup -a
Restore
autorestic restore -a -- --target /path/where/to/restore
🗂 Locations
A location simply a folder on your machine that restic will backup. The paths can be relative from the config file. A location can have multiple backends, so that the data is secured across multiple servers.
locations:
my-location-name:
from: path/to/backup
to:
- name-of-backend
- also-backup-to-this-backend
💽 Backends
Backends are the place where you data will be saved. Backups are incremental and encrypted.
Fields
type
Type of the backend see a list here
Supported are:
For each backend you need to specify the right variables as shown in the example below.
path
The path on the remote server. For object storages as
Example
backends:
name-of-backend:
type: b2
path: 'myAccount:myBucket/my/path'
B2_ACCOUNT_ID: backblaze_account_id
B2_ACCOUNT_KEY: backblaze_account_key
Note
Note that the data is automatically encrypted on the server. The key will be generated and added to your config file. Every backend will have a separate key. You should keep a copy of the keys somewhere in case your server dies. Otherwise DATA IS LOST!
Contributors
- @ChanceM
