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,oac_no_warn]
----
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,oac_no_warn]
----
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)


