Guides

Guides

Full and incremental backups

Choose a destination explicitly. An incremental set keeps its complete chain on one provider.

glesha create docs ~/Documents --to b2
glesha run docs
echo "new-file" > ~/Documents/new_file.txt
glesha run docs --incremental
glesha history docs
glesha status docs

Removed paths require [y/N] confirmation. Use --assume-yes for automation. Earlier snapshots remain available.

Find and restore files

Browsing reads local metadata; it downloads no archive payloads.

glesha browse docs
glesha browse docs --path Documents --recursive
glesha restore docs --snapshot latest --into ~/recovered

The destination must be new. Sync metadata on another machine before restoring:

glesha list --remote --from b2
glesha catalog pull docs --from b2
glesha restore docs --into ~/recovered --from b2

Resume an interrupted run

glesha run docs
# After interruption, repeat run or retry.
glesha retry docs

Completed uploads are reused. Single-file runs retain the encrypted archive until publication succeeds; --keep-archive keeps it afterwards too.

Bounded disk space

glesha run docs --chunked --spool-max 128M
glesha run docs --chunked --spool-max 1.1G
glesha retry docs
glesha restore docs --into ~/recovered

Chunks are independent encrypted archives. Completed uploads survive interruption; changed sources prevent an unsafe resume. Chunked snapshots currently cannot be moved or retiered.

AWS storage costs

Choose a class for new archives, or change an existing snapshot. Compact metadata and explicit incrementals reduce stored data. Registry and catalog objects use Standard.

glesha create docs ~/Documents --to aws
glesha run docs --storage-class STANDARD_IA
glesha storage-class docs --snapshot latest --class DEEP_ARCHIVE
glesha status docs

Status estimates yearly storage for recorded copies. Requests, retrieval, egress and untracked versions cost extra. --refresh observes external lifecycle class changes.

glesha status docs --refresh

Restore from cold storage

Bulk retrieval is the lowest-cost default. Deep Archive recovery can take up to 48 hours. Faster Standard retrieval is opt-in.

glesha restore docs --into ~/recovered --request-retrieval
# Run again after AWS finishes retrieval.
glesha restore docs --into ~/recovered

# Opt into faster retrieval.
glesha restore docs --into ~/recovered --request-retrieval --retrieval standard

AWS expires the temporary readable copy automatically. The stored object stays in its original class.

Existing encb archives

Import catalogs the archive without replacing its remote payload.

glesha import docs --from b2 --key encb-20240101.tar.gz.gpg
glesha browse docs --recursive
glesha restore docs --into ~/recovered

For a cold object, request retrieval explicitly, then repeat import when it is readable.

glesha import old-docs --from aws --key encb-old.tar.gz.gpg \
  --request-retrieval --retrieval bulk

Use import options for source mappings and baseline selection.

Standalone archives

glesha archive ~/Documents --compression xz
glesha decrypt backup.tar.xz.gpg
glesha extract backup.tar.xz.gpg --into ~/extracted

# Standard tools also read single-file full archives.
gpg --output backup.tar.xz --decrypt backup.tar.xz.gpg
tar -xJf backup.tar.xz