borg-repo-list(1)

Name
borg-repo-list - List the archives contained in a repository.

SYNOPSIS

borg [common options] repo-list [options]

DESCRIPTION

This command lists the archives contained in a repository.

  Grouping archives

--group-by lists the archives grouped by the given comma-separated archive attributes, each group preceded by a header line naming it:

    $ borg repo-list --group-by name,host --format '{archive} {time}{NL}'
    Group (name='home', host='host1'):
    home Thu, 2026-06-04 18:00:00 +0200
    home Wed, 2026-06-03 18:00:00 +0200
    Group (name='home', host='host2'):
    home Thu, 2026-06-04 19:00:00 +0200

Valid keys are name, host, user and tags; borg's internal tags (starting with @) do not affect grouping. Archives without host / user metadata (e.g. archives transferred from a borg 1.x repository) form their own group.

These are the same keys and the same grouping that borg prune --group-by uses, so this is a way to see which archives a prune run will consider together before running it. Without --group-by, archives are listed as before, ungrouped.

With --json, no header lines are emitted; each archive gets a group object instead.

OPTIONS

See borg-common(1) for common options of Borg commands.

  options

--short
    only print the archive IDs, nothing else

--from-borg1
    repository is Borg 1.x

--format FORMAT
    specify format for archive listing (default: "{id:.8} {time} {archive:<15} {tags:<10} {username:<10} {hostname:<10} {comment:.40}{NL}")

--group-by KEYS
    comma-separated list of archive attributes to group the listed archives by; valid keys are: name, host, user, tags; default is to not group

--json
    Format output as JSON. The form of --format is ignored, but keys used in it are added to the JSON output. Some keys are always present. Note: JSON can only represent text.

  Archive filters

-a PATTERN, --match-archives PATTERN
    only consider archives matching all patterns. See "borg help match-archives".

--sort-by KEYS
    Comma-separated list of sorting keys; valid keys are: timestamp, archive, name, id, tags, host, user; default is: timestamp

--first N
    consider the first N archives after other filters are applied

--last N
    consider the last N archives after other filters are applied

--oldest TIMESPAN
    consider archives between the oldest archive's timestamp and (oldest + TIMESPAN), e.g., 7d or 12m.

--newest TIMESPAN
    consider archives between the newest archive's timestamp and (newest - TIMESPAN), e.g., 7d or 12m.

--older TIMESPAN
    consider archives older than (now - TIMESPAN), e.g., 7d or 12m.

--newer TIMESPAN
    consider archives newer than (now - TIMESPAN), e.g., 7d or 12m.

--deleted
    consider only soft-deleted archives.

EXAMPLES

    $ borg repo-list
    76fcb5c7  Sat, 2026-08-29 14:36:22 +0200  docs                         tw          MacBook-Pro  this is a comment
    19356ae3  Sat, 2026-08-29 14:36:23 +0200  scripts                      tw          MacBook-Pro
    7dd5756a  Sat, 2026-08-29 14:36:23 +0200  scripts                      tw          MacBook-Pro
    99b712ef  Sat, 2026-08-29 14:36:23 +0200  src                          tw          MacBook-Pro
    7698cd9e  Sat, 2026-08-29 14:36:24 +0200  scripts                      tw          MacBook-Pro
    f49f8762  Sat, 2026-08-29 14:36:24 +0200  docs                         tw          MacBook-Pro
    ...

NOTES

  The FORMAT specifier syntax

The --format option uses Python's format string syntax <https://docs.python.org/3.11/library/string.html#formatstrings>.

Examples:

    $ borg repo-list --format '{archive}{NL}'
    ArchiveFoo
    ArchiveBar
    ...
    # {VAR:NUMBER} - pad to NUMBER columns.
    # Strings are left-aligned, numbers are right-aligned.
    # Note: the time keys (time, start, end) can not be padded - for them, the
    # format spec is a strftime format string, e.g. {time:%Y-%m-%d}.
    $ borg repo-list --format '{archive:36} {time} [{id}]{NL}'
    ArchiveFoo                           Thu, 2021-12-09 10:22:28 [0b8e9...3b274]
    ...

The following keys are always available:

•   NEWLINE: OS dependent line separator

•   NL: alias of NEWLINE

•   NUL: NUL character for creating print0 / xargs -0 like output

•   SPACE: space character

•   TAB: tab character

•   CR: carriage return character

•   LF: line feed character

    Keys available only when listing archives in a repository:

•   archive: archive name

•   name: alias of "archive"

•   comment: archive comment

•   id: internal ID of the archive

•   tags: archive tags

•   time: nominal time of the archive

•   start: start time of the archive operation

•   end: end time of the archive operation

•   command_line: command line which was used to create the archive

•   hostname: hostname of host on which this archive was created

•   username: username of user who created this archive

•   size: size of this archive (data plus metadata, not considering compression and deduplication)

•   nfiles: count of files in this archive

SEE ALSO

borg-common(1)

Author
The Borg Collective