type=page
status=published
title=backup-domain
next=change-admin-password.html
prev=attach.html
~~~~~~

backup-domain
=============

[[backup-domain-1]][[GSRFM00003]][[backup-domain]]

backup-domain
-------------

Performs a backup on the domain

[[sthref39]]

=== Synopsis

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

[[sthref40]]

=== Description

The `backup-domain` subcommand backs up files under the named domain.

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

In GlassFish Server Open Source Edition, the domain to be backed up must
be stopped.

In Oracle GlassFish Server, the domain to be backed up must be stopped
or be suspended using the `suspend-domain`(1) subcommand.

[[sthref41]]

=== 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 the backup operation.
+
  The default value is `false`.
`--description`::
  Specifies a description to store in the backup file. The description
  is displayed as part of the information about a backup file.
+
  The default value has this form:
+
[source]
----
domain-name backup created on YYYY_MM_DD by user user-name
----
`--domaindir`::
  Specifies the domain root directory, the parent directory of the
  domain to back up.
+
  The default value is as-install`/domains`.
`--backupdir`::
  Specifies the directory under which the backup file is to be 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.) The name of the domain
  backup configuration in the backup directory under which the backup
  file is to be stored.

[[sthref42]]

=== Operands

domain-name::
  Specifies the name of the domain to be backed up.
+
  This operand is optional if only one domain exists in the
  \{product---name} installation.

[[sthref43]]

=== Exit Status

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

[[sthref44]]

=== See Also

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

link:list-backups.html#list-backups-1[`list-backups`(1)],
link:restore-domain.html#restore-domain-1[`restore-domain`(1)],
`resume-domain`(1), `suspend-domain`(1)


