Last reviewed: 2026-02-03 / Plakar v1.1.0
plakar ptar
Creates portable .ptar archives from data sources.
Syntax
plakar ptar [options] -o output.ptar [sources]
Required Arguments
| Argument | Description |
|---|---|
-o path | Output file path for the .ptar archive |
| sources | At least one: -k location for Kloset Store or filesystem path |
Options
| Option | Type | Default | Description |
|---|---|---|---|
-k location | string | - | Include a Kloset Store (path or alias) |
-plaintext | flag | false | Disable encryption |
-overwrite | flag | false | Allow overwriting existing files |
Source Types
| Source Type | Syntax | Example |
|---|---|---|
| Filesystem path | /path or ./path | /home/user/Documents |
| Kloset Store (path) | -k /path | -k $HOME/backups |
| Kloset Store (alias) | -k @alias | -k @s3-backups |
| Remote protocols | Plugin-dependent | sftp://, s3://, ipfs:// |
Examples
# Single directory
plakar ptar -o documents.ptar /home/user/Documents
# Multiple paths
plakar ptar -o important.ptar /home/user/Documents /home/user/Pictures
# From Kloset Store
plakar ptar -o backup.ptar -k $HOME/backups
# From multiple stores
plakar ptar -o combined.ptar -k $HOME/backups -k @s3-backups
# Mixed sources
plakar ptar -o comprehensive.ptar -k $HOME/backups /home/user/NewDocs
# Plaintext archive
plakar ptar -plaintext -o unencrypted.ptar -k $HOME/backups
# Overwrite existing
plakar ptar -overwrite -o existing.ptar -k $HOME/backups
Environment Variables
| Variable | Description |
|---|---|
PLAKAR_PASSPHRASE | Passphrase for archive encryption (avoids interactive prompt) |
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (file exists without -overwrite, invalid source, etc.) |
plakar at … (Ptar Operations)
Access Ptar files as read-only Kloset Stores.
Syntax
plakar at archive.ptar <command>
Supported Commands
| Command | Description |
|---|---|
ls [snapshot-id] | List snapshots or files in a snapshot |
check | Verify cryptographic integrity |
restore -to destination [snapshot-id] | Restore snapshot contents |
info | Display archive metadata |
plakar at … ls
List snapshots or snapshot contents.
Syntax
plakar at archive.ptar ls [snapshot-id]
Arguments
| Argument | Required | Description |
|---|---|---|
| snapshot-id | No | If omitted, lists all snapshots; if provided, lists files in that snapshot |
Examples
# List all snapshots
plakar at backup.ptar ls
# List files in specific snapshot
plakar at backup.ptar ls df42124a
Output Format
Snapshots:
<timestamp> <snapshot-id> <size> <duration> <path>
Files:
<timestamp> <permissions> <user> <group> <size> <filename>
plakar at … check
Verify archive integrity.
Syntax
plakar at archive.ptar check
Examples
plakar at backup.ptar check
Output
info: <snapshot-id>: ✓ <path>
plakar at … restore
Restore snapshot contents to filesystem or Kloset Store.
Syntax
plakar at archive.ptar restore -to destination [snapshot-id]
Arguments
| Argument | Required | Description |
|---|---|---|
-to path | Yes | Destination directory or Kloset Store alias (e.g., @alias) |
| snapshot-id | No | Snapshot to restore; defaults to first snapshot if omitted |
Examples
# Restore to local directory
plakar at backup.ptar restore -to $HOME/restored-backups df42124a
# Restore to configured store
plakar at backup.ptar restore -to @new-location df42124a
# Restore first snapshot (no ID specified)
plakar at backup.ptar restore -to $HOME/restored
plakar at … info
Display archive metadata.
Syntax
plakar at archive.ptar info
Examples
plakar at backup.ptar info
Passphrase Handling
Interactive Mode
If PLAKAR_PASSPHRASE is not set, prompts appear:
Creating archive:
repository passphrase:
repository passphrase (confirm):
Accessing archive:
repository passphrase:
Different source/destination:
source repository passphrase:
repository passphrase:
repository passphrase (confirm):
Non-interactive Mode
Set PLAKAR_PASSPHRASE environment variable to avoid prompts:
export PLAKAR_PASSPHRASE="your-secure-passphrase"
plakar ptar -o backup.ptar -k $HOME/backups
File Format Properties
| Property | Value |
|---|---|
| Read-only | Yes (archives cannot be modified after creation) |
| Self-contained | Yes (includes all metadata and data) |
| Portable | Yes (single file can be moved/copied freely) |
| Encrypted by default | Yes (unless -plaintext specified) |
| Tamper-evident | Yes (cryptographic verification via check) |
Further Reading
For a deeper dive into the philosophy and technical design of the format, check out the following posts on the Plakar blog:
Found a bug or mistake in the documentation? Create an issue on GitHub