PLAKAR(1)

NAME
plakar - effortless backups

SYNOPSIS
plakar [-concurrency number] [-configdir dir] [-cachedir dir] [-datadir dir] [-cpu number] [-json] [-keyfile path] [-quiet] [-silent] [-stdio] [-time] [-trace subsystems] [at kloset] subcommand ...

DESCRIPTION
plakar is a tool to create distributed, versioned backups with compression, encryption, and data deduplication.

By default, plakar operates on the Kloset store at ~/.plakar. This can be changed either by using the at option.

The following options are available:

-concurrency number
    Set the maximum number of parallel tasks for faster processing. Defaults to the CPU count.

-configdir dir
    Specify an alternate configuration directory. Defaults to ~/.config/plakar.

-cachedir dir
    Specify an alternate cache directory. Defaults to ~/.cache/plakar.

-datadir dir
    Specify an alternate data directory. Defaults to ~/.local/share/plakar.

-cpu number
    Limit the number of parallel workers plakar uses to number. By default it's the number of online CPUs.

-json
    Use newline-delimited JSON as output format for some subcommands.

-keyfile path
    Read the passphrase from the key file at path instead of prompting. Overrides the PLAKAR_PASSPHRASE environment variable.

-quiet
    Disable all output except for errors.

-silent
    Disable all output.

-stdio
    Use text lines as output format for some subcommands instead of the default ncurses frontend. Enabled by default when the standard output is not a terminal.

-time
    Report the time the subcommand took to run.

-trace subsystems
    Display trace logs. subsystems is a comma-separated series of keywords to enable the trace logs for different subsystems: all, trace, repository, snapshot and server.

at kloset
    Operates on the given kloset store. It could be a path, an URI, or a label in the form “@name” to reference a configuration created with plakar-store(1).

  General Commands

help
    Show this manpage and the ones for the subcommands.

login
    Authenticate to Plakar services, refer to plakar-login(1).

logout
    Log out from Plakar services, refer to plakar-logout(1).

service
    Manage additional Plakar services that require you to be logged in, refer to plakar-service(1).

token create
    Generate a token to interact with Plakar services, refer to plakar-token-create(1).

version
    Display the current Plakar version, refer to plakar-version(1).

  Configuration management

destination
    Manage configurations for the destination connectors, refer to plakar-destination(1).

source
    Manage configurations for the source connectors, refer to plakar-source(1).

store
    Manage configurations for storage connectors, refer to plakar-store(1).

  Kloset management

check
    Check data integrity in a Kloset store, refer to plakar-check(1).

create
    Create a new Kloset store, refer to plakar-create(1).

info
    Display detailed information about internal structures, refer to plakar-info(1).

maintenance
    Remove unused data from a Kloset store, refer to plakar-maintenance(1).

prune
    Prune snapshots according to a policy, refer to plakar-prune(1).

ptar
    Create a .ptar archive, refer to plakar-ptar(1).

server
    Start a Plakar server, refer to plakar-server(1).

sync
    Synchronize snapshots between Kloset stores, refer to plakar-sync(1).

ui  Serve the Plakar web user interface, refer to plakar-ui(1).

  Snapshot management
archive
    Create an archive from a Kloset snapshot, refer to plakar-archive(1).
backup
    Create a new Kloset snapshot, refer to plakar-backup(1).
cat Display file contents from a Kloset snapshot, refer to plakar-cat(1).
diff
    Show differences between files in a Kloset snapshot, refer to plakar-diff(1).
digest
    Compute digests for files in a Kloset snapshot, refer to plakar-digest(1).
dup Duplicate an existing snapshot with a different ID, refer to plakar-dup(1).
locate
    Find filenames in a Kloset snapshot, refer to plakar-locate(1).
ls  List snapshots and their contents in a Kloset store, refer to plakar-ls(1).
mount
    Mount Kloset snapshots as a read-only filesystem, refer to plakar-mount(1).
restore
    Restore files from a Kloset snapshot, refer to plakar-restore(1).
rm  Remove snapshots from a Kloset store, refer to plakar-rm(1).

  Plugin handling

pkg add
    Install a plugin, refer to plakar-pkg-add(1).

pkg build
    Build a plugin from source, refer to plakar-pkg-build(1).

pkg create
    Package a plugin, refer to plakar-pkg-create(1).

pkg rm
    Uninstall a plugin, refer to plakar-pkg-rm(1).

pkg show
    List installed plugins, refer to plakar-pkg-show(1).

ENVIRONMENT

PLAKAR_PASSPHRASE
    Passphrase to unlock the Kloset store; overrides the one from the configuration. If set, plakar won't prompt to unlock. The option keyfile overrides this environment variable.

PLAKAR_REPOSITORY
    Reference to the Kloset store.

PLAKAR_TOKEN
    Token to authenticate for Plakar services.

FILES

~/.cache/plakar
    Plakar cache directories.

~/.config/plakar/destinations.yml
    Restore destinations configuration.

~/.config/plakar/sources.yml
    Backup sources configuration.

~/.config/plakar/stores.yml
    Kloset stores configuration.

~/.plakar
    Default Kloset store location.

EXIT STATUS
The following exit codes are aligned with sysexits(3) where applicable:

0   Command completed successfully.

1   A general error occurred.

64 (EX_USAGE)
    Invalid command-line arguments or flags.

65 (EX_DATAERR)
    Data integrity check failed (corrupted chunks, verification mismatch).

66 (EX_NOINPUT)
    The repository could not be opened or located.

77 (EX_NOPERM)
    Authentication or decryption failure (wrong passphrase, missing keyfile).

78 (EX_CONFIG)
    Incompatible repository version.

EXAMPLES
Create an encrypted Kloset store at the default location:

    $ plakar create

Create an encrypted Kloset store on AWS S3:

    $ plakar store add mys3bucket \
        location=s3://s3.eu-west-3.amazonaws.com/backups \
        access_key="access_key" \
        secret_access_key="secret_key"
    $ plakar at @mys3bucket create

Create a snapshot of the current directory on the @mys3bucket Kloset store:

    $ plakar at @mys3bucket backup

List the snapshots of the default Kloset store:

    $ plakar ls

Restore the file “notes.md” in the current directory from the snapshot with id “abcd”:

    $ plakar restore -to . abcd:notes.md

Remove snapshots older than 30 days:

    $ plakar rm -before 30d