type=page
status=published
title=list-backups
next=list-batch-job-executions.html
prev=list-auth-realms.html
~~~~~~

= list-backups

[[list-backups-1]][[GSRFM00152]][[list-backups]]

== list-backups

Lists all backups

[[sthref1332]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-backups [--help]
[--long[={false|true}]]
[--domaindir domain-root-dir]
[--backupdir backup-directory]
[--backupconfig backup-config-name]
[domain-name]
----

[[sthref1333]]

=== Description

The `list-backups` subcommand displays information about domain backups.

This subcommand is supported in local mode only in GlassFish Server Open
Source Edition, and is support in local mode and remote mode in Oracle
GlassFish Server.

[[sthref1334]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--long`::
`-l`::
  Displays detailed information about each backup. +
  The default value is `false`.
`--domaindir`::
  Specifies the domain root directory, the parent directory of the
  domain upon which the command will operate. +
  The default value is as-install`/domains`.
`--backupdir`::
  Specifies the directory under which backup files are stored. +
  The default value is as-install`/domains/`domain-dir`/backups`. If the
  domain is not in the default location, the location is
  domain-dir`/backups`.
`--backupconfig`::
  (Supported only in Oracle GlassFish Server.) Restricts the listing of
  backup files in the backup directory to those for the specified domain
  backup configuration.

[[sthref1335]]

=== Operands

domain-name::
  Specifies the domain for which backups are listed. +
  This operand is optional if only one domain exists in the
  {productName} installation.

[[sthref1336]]

=== Examples

[[GSRFM640]][[sthref1337]]

==== Example 1   Listing Domain Backups

This example provides detailed information about backups in the default domain.

[source]
----
asadmin> list-backups --long
Description               : domain1 backup created on 2010_12_01 by user adminuser
GlassFish Version         : Oracle GlassFish Server 3.1
Backup User               : adminuser
Backup Date               : Wed Dec 01 09:22:45 PST 2010
Domain Name               : domain1
Backup Type               : full
Backup Config Name        :
Backup Filename (origin)  : /glassfish7/glassfish/domains/domain1/backups/domain1_2010_12_01_v00001.zip
Domain Directory          : /glassfish7/glassfish/domains/domain1

Description               : domain1 backup created on 2010_12_16 by user adminuser
GlassFish Version         : Oracle GlassFish Server 3.1
Backup User               : adminuser
Backup Date               : Thu Dec 16 09:23:48 PST 2010
Domain Name               : domain1
Backup Type               : full
Backup Config Name        :
Backup Filename (origin)  : /glassfish7/glassfish/domains/domain1/backups/domain1_2010_12_16_v00001.zip
Domain Directory          : /glassfish7/glassfish/domains/domain1


Command list-backups executed successfully.
----

[[sthref1338]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1339]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
link:restore-domain.html#restore-domain-1[`restore-domain`(1)]


