BUPSTASH-LIST(1)
π bupstash-list(1) π
okay bestie, this is the General Commands Manual page for bupstash-list, and she is lowkey the search-queen of your bupstash repo β¨. Think: fetch, decrypt, print metadata, and vibe-check your items with the bupstash query language. No cap, it's iconic.
β¨ SYNOPSIS β¨
List items in a bupstash repository.
bupstash list [OPTIONS] QUERY...
π«Ά DESCRIPTION π«Ά
bupstash list fetches, decrypts, and prints metadata of items stored in the bupstash repository. It can be used for searching the database with the bupstash query language. π
Only the metadata needs to be decrypted to list items, so a metadata key is sufficient for item queries, even without access to the data decryption key. That's the important part, bestie β metadata key is enough for querying items here.
π QUERY LANGUAGE π
For full documentation on the query language, see bupstash-query-language(7).
π¬ List query examples:
$ bupstash list name='*.tar'
...
$ bupstash list timestamp='2020*'
...
π·οΈ SPECIAL TAGS π·οΈ
Bupstash automatically inserts special tags that can be viewed and queried against, they are outlined below. π
π decryption-key-id
This special tag is inserted when the --query-encrypted option is used, it allows searching against the key id that would be used for decrypting the given item. This tag is mostly useful for pruning backups for which you do not have the decryption key.
π¦ size
This tag is the size of the data stream and any index metadata associated with the snapshot. This means the size may not exactly match the size of the data stream retrieved by bupstash-get(1) for the case of snapshots.
β° timestamp
The time the item was created formatted as YYYY/MM/DD HH:MM:SS.
ποΈ QUERY CACHING ποΈ
Because all data is stored encrypted on the server, item metadata must first be synchronized to the local machine, and then decrypted on the client side to run a query. The file containing the synced and encrypted metadata is called the query cache. π«Ά
The path to the query-cache file, defaults to one of the following, in order, provided the appropriate environment variables are set, $BUPSTASH_QUERY_CACHE, $XDG_CACHE_HOME/.cache/bupstash/bupstash.qcache or $HOME/.cache/bupstash/bupstash.qcache.
As a special case, a query that consists only of a fully specified id (e.g. id=$FULL_ID) will not require use of the query cache, instead the query can be passed directly to the server. This means it is always more efficient to fully specify an id when running any command that expects a query. fr fr, that's the efficient-girl move π
π OUTPUT FORMATS π
Human
When --format is set to human, bupstash list outputs rows consisting of:
KEY=VALUE KEY=VALUE KEY=VALUE ....
Where each key and value corresponds to a tag that may be searched against.
JSONl1
When --format is set to jsonl1, bupstash list outputs one json object per line.
Each line has the following json schema:
{
"id": hexstring,
"decryption_key_id": hexstring,
"data_tree": {
"address": hexstring,
"height": number,
"data_chunk_count": number
},
"index_tree": {
"address": hexstring,
"height": number,
"data_chunk_count": number
},
"data_size": number, // If decryption key present.
"index_size": number, // If decryption key present.
"put_key_id": hexstring, // If decryption key present.
"data_hash_key_part": hexstring, // If decryption key present.
"index_hash_key_part": hexstring, // If decryption key present.
"unix_timestamp_millis": number,
"tags": {
string : string,
...
}
If --query-encrypted is specified, encrypted tags and metadata are omitted.
π OPTIONS π
-r,--repository REPOβ The repository to connect to may be of the formssh://$SERVER/$PATHfor remote repositories if ssh access is configured. If not specified, is set toBUPSTASH_REPOSITORY.-k,--key KEYβ Primary key used to decrypt data and metadata. If not set, defaults toBUPSTASH_KEY.--query-encryptedβ The query will not decrypt any metadata, allowing you to list items you do not have a decryption key for. This option inserts the pseudo query tag'decryption-key-id'.--query-cache PATHβ Path to the query-cache file, defaults to one of the following, in order, provided the appropriate environment variables are set,$BUPSTASH_QUERY_CACHE,$XDG_CACHE_HOME/.cache/bupstash/bupstash.qcacheor$HOME/.cache/bupstash/bupstash.qcache.--format FORMATβ Set output format to one of the following'human','jsonl'.--utc-timestampsβ Display and search against timestamps in utc time instead of local time.--no-progressβ Suppress progress indicators (Progress indicators are also suppressed when stderr is not an interactive terminal).-q,--quietβ Be quiet, implies--no-progress.
π± ENVIRONMENT π±
BUPSTASH_REPOSITORYβ The repository to connect to. May be of the formssh://$SERVER/$PATHfor remote repositories if ssh access is configured.BUPSTASH_REPOSITORY_COMMANDβ A command to run to connect to an instance ofbupstash-serve(1). This allows more complex connections to the repository for less common use cases.BUPSTASH_KEYβ Path to a primary key that will be used for decrypting data and metadata.BUPSTASH_KEY_COMMANDβ A command to run that must print the key data, can be used instead ofBUPSTASH_KEYto fetch the key from arbitrary locations such as the network or other secret storage.BUPSTASH_QUERY_CACHEβ Path to the query cache file to use.
π EXAMPLES π
π¦ List items matching a query
$ bupstash list name=backup.tar and timestamp=2020/07/*
id="aa87fdbc72241f363568bbb888c0834e" name="backup.tar" size="106.34MB" timestamp="2020-07-24 15:25:00"
id="d271ec0b989cfc20e10d01380115747e" name="backup.tar" size="146.38MB" timestamp="2020-07-29 15:25:24"
...
π SEE ALSO π
bupstash(1), bupstash-list-contents(1), bupstash-keyfiles(7), bupstash-query-language(7)
okay bye bestie π β this was the May 2025 BUPSTASH-LIST(1) page, fresh from the General Commands Manual, and yes she ate. periodt. π
π¦ where this page comes from
- alpine 3.24: bupstash-doc 0.12.0-r7 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms