Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sebastianspeitel/bborg

Bash script for automating borgbackup
https://github.com/sebastianspeitel/bborg

automation backup-tool bash-script borg

Last synced: 1 day ago
JSON representation

Bash script for automating borgbackup

Awesome Lists containing this project

README

        

# bborg

Bash script for automating [borgbackup](https://www.borgbackup.org/).

## Features

- A single config for all your backups
- Just a single bash script
- Still easy to configure for just a single backup
- Familiar SSH config syntax

## Configuration

The config is read from `~/.config/borg/backups` by default.

### Examples

```bash
# Sets a global default compression
Compression auto,zstd,12

Backup local
Repo ~/backup
Passphrase hunter2

Backup remote
Repo backup:~/backup
# Gets the passphrase via pass
PassCommand pass backups/remote | head -n1
```

```bash
# Setting the repo globally allows configuring a single backup named default
Repo backup:~/backup
```

### Options

#### `Repo`

Borg repository identifier.

#### `Path`

**Default**: `~`

Path to backup.

#### `Compression`

Compression to use.
See `borg help compression` for more information.

#### `Archive`

**Default**: `$(date -I)` (The current date in ISO format)

Name of the archive to create.

#### `IgnoreFile`

**Default**: `.borgignore`

File passed to borg via `--exclude-from`.
If it's a relative path (not starting with `/`), it gets appended to `Path`.

#### `Passphrase`

Passphrase passed to borg.

#### `PassCommand`

When set, the output of this command will be used as the passphrase.

#### `Progress`

Pass `--progress` to borg to display progress.

#### `ExtraArgs`

Additional arguments passed to borg.