Applicable to:
- Plesk for Linux
Question
What is the structure of the local backups in Plesk for Linux?
Answer
The Plesk backup storage is specified by the DUMP_D
variable defined in the /etc/psa/psa.conf
configuration file. The default location is /var/lib/psa/dumps
.
-
Each backup consists of:
-
<info>.xml
- file which contains settings of the server/reseller/customer/subscription, etc. -
<backup>.<tar|tgz|tzst>
- archived backup files which include website content, databases, etc. - The directory
.discovered
, which contains backup's technical information.
-
-
Backup objects hierarchy is the following:
Warning: Modifying Plesk backup structure is not recommended.
-
Root backup directory where server backups, daily dumps, subdirectories with backups of resellers, clients, and domains, etc. are stored:
CONFIG_TEXT: /var/lib/psa/dumps/
/var/lib/psa/dumps/.discovered -
Subdirectory
domains/
where backups of domains owned by the Plesk admin and objects owned by the domains are stored:CONFIG_TEXT: /var/lib/psa/dumps/domains
/var/lib/psa/dumps/domains/<domain.name>
/var/lib/psa/dumps/domains/<domain.name>/.discovered
/var/lib/psa/dumps/domains/<domain.name>/databases/
/var/lib/psa/dumps/domains/<domain.name>/sites/<domain.name> -
Subdirectory
clients/
where client's owned by admin and objects owned by the clients are stored:CONFIG_TEXT: /var/lib/psa/dumps/clients
/var/lib/psa/dumps/clients/<client.login>
/var/lib/psa/dumps/clients/<client.login>/.discovered
/var/lib/psa/dumps/clients/<client.login>/domains/<client.domain>/
/var/lib/psa/dumps/clients/<client.login>/domains/<client.domain>/.discovered
/var/lib/psa/dumps/clients/<client.login>/domains/<client.domain>/sites/<domain.name>Directories are identified by the customer's login and the domain name.
-
Subdirectory
resellers/
where backups of resellers, their clients, domains and other objects owned by resellers and resellers' clients are stored:CONFIG_TEXT: /var/lib/psa/dumps/resellers
/var/lib/psa/dumps/resellers/<reseller.login>
/var/lib/psa/dumps/resellers/<reseller.login>/.discovered
/var/lib/psa/dumps/resellers/<reseller.login>/domains/<reseller.domain>
/var/lib/psa/dumps/resellers/<reseller.login>/domains/<reseller.domain>/.discovered
/var/lib/psa/dumps/resellers/<reseller.login>/clients/<client.login>/.discovered
/var/lib/psa/dumps/resellers/<reseller.login>/clients/<client.login>/domains/<client.domain>
/var/lib/psa/dumps/resellers/<reseller.login>/clients/<client.login>/domains/<client.domain>/.discoveredThe repositories are identified by reseller login, reseller's domain name, customer login and customer's domain name.
-
-
To distinguish files belonging to different backups of the same object, a specific prefix and suffix are added to the file names:
-
The
backup
is added by default. -
A suffix designating the backup creation date is always added to each backup file, and the date format is
<yymmddhhmm>
.Note: For example, the files of a backup created on 29 May 2021, 03:08 PM will have the suffix name:
2105291508
, for example:backup_info_2105291508
.
-
The list of all files included in the backup can be found via the command find
:
# find $(awk '$1=="DUMP_D"{print$2}' /etc/psa/psa.conf) -name '2105291508'
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_logs_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_info_2105291508.xml
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_conf_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/sites/sub.example.com/backup_logs_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/sites/sub.example.com/backup_conf_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/sites/sub.example.com/backup_pd_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/sites/sub.example.com/backup_statistics_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_pd_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/.discovered/backup_info_2105291508
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_apache-files_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_statistics_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_domainmail_2105291508.tgz
/var/lib/psa/dumps/clients/jdoe/domains/example.com/backup_user-data_2105291508.tgz
From the output above it is seen that this is a backup of a subscription example.com
which includes the domain example.com
and the subdomain sub.example.com
. This subscription belongs to the customer with the login jdoe
. The client belongs to Plesk administrator.
# ls -la /var/lib/psa/dumps/clients/jdoe/domains/example.com/.discovered/backup_info_2105291508/
total 56
drwxr-xr-x 2 root root 4096 May 29:15 .
drwxr-xr-x 6 root root 4096 May 29 15:08 ..
-rw-r--r-- 1 root root 20 May 29 15:08 cid_apache-files
-rw-r--r-- 1 root root 562 May 29 15:08 cid_domainmail_25
-rw-r--r-- 1 root root 408 May 29 15:08 cid_user-data
-rw-r--r-- 1 root root 113 May 29 15:08 dumpresult_SUCCESS
-rw-r--r-- 1 root root 86 May 29 15:08 object_index
-rw-r--r-- 1 root root 17204 May 29 15:08 profile.log
-rw-r--r-- 1 root root 139 May 29 15:08 props
-rw-r--r-- 1 root root 0 May 29 15:08 status_OK
-rw-r--r-- 1 root root 5 May 29 15:08 storages
Where:
-
cid_apache-files
- index of webspace files which are accessed explicitly for usersapache
orwww-data
. -
cid_domainmail_25
- index of files with mail messages. -
cid_user-data
- index of webspace files. -
object_index
- index of objects included in the backup (resellers, customers, subscriptions, domains, mailboxes, etc.).Note: The index of webspaces/files is used to determine which files should be included in the next incremental backup and from which archive the files should be extracted during restoration.
-
dumpresult_SUCCESS
:-
dumpresult_SUCCESS
. Indicates that the backup was created without issues. -
dumpresult_WARNINGS
. Provides the list of warnings that appeared during the backup creation. -
dumpresult_ERROR
. Provides the list of errors that appeared during the backup creation.
-
-
profile.log
- telemetry data. -
props
- contains backup properties. -
storages
- contains the list of repositories where the backup was created. For example,local
/ftp
, etc. -
status_OK
- indicates the backup status:-
status_OK
. Indicates a valid backup. -
status_WRONG-FORMAT
. Indicates that the*.xml
backup file is invalid. -
status_CONTENT-ERROR
. Indicates that the part oftar
archives is missing. -
status_SIGN-ERROR
. For a modified backup in which the backup signature does not match the backup content.
The following notification is shown in Plesk when clicking on the backup:Warning: This backup was created on another server or modified after creation
.
Note: The backup status file is kind of like a cache. You need to remove it to allow Plesk Backup Manager to generate a new status file.
-
In Plesk UI backups can be checked in:
-
Tools & Settings > Backup Manager:
-
Domains > example.com > Backup & Restore:
- For reseller/customer in their panel in Tools & Utilities > Backup Manager or in Domains > example.com > Backup & Restore.
The content of the auxiliary subdirectory .discovered
is not visible in Plesk. Foreign files located in the backup directories are also not visible in Plesk UI.
Old article content for Plesk for Plesk Onyx and 12.5:
Information
Note: This structure is valid for Plesk 12.x and Onyx.
Each backup consists of <info>.xml
(backup metadata files), <backup>.<zip|tar>
(archived backup files which include website content, databases, etc.) and the directory .discovered
, which contains backup technical information.
The backup is identified by the data number, and the list of all files included in the backup can be found with the command find
.
For example, to find all the files for backup 0812121508
:
Note: where as 0812121508
08 - Year
12 - Month
12 - Day
15 - Hour
08 - Minute
# find $(awk '$1=="DUMP_D"{print$2}' /etc/psa/psa.conf) -name '*0812121508*'
/var/lib/psa/dumps/clients/mydomains/converted_mydomains_info_0812121508.xml
/var/lib/psa/dumps/clients/mydomains/domains/myDomain.com/phosting/converted_webstat_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_docroot_ssl_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_logs_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_ftp_stat_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_error_docs_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_info_0812121508.xml
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/.discovered/converted_info_0812121508
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_webstat_ssl_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_webuser_home_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_private_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_anon_ftpstat_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_docroot_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/phosting/converted_cgi_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/mailnames/john.doe@example.com/converted_john.doe@example.com_attaches_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/mailnames/john.doe@example.com/converted_john.doe@example.com_mailbox_0812121508.tgz
/var/lib/psa/dumps/clients/mydomains/domains/example.com/mailnames/john.doe@example.com/converted_john.doe@example.com_info_0812121508.xml
/var/lib/psa/dumps/clients/mydomains/domains/example.com/mailnames/john.doe@example.com/.discovered/converted_john.doe@example.com_info_0812121508
/var/lib/psa/dumps/clients/mydomains/domains/example.com/.discovered/converted_example.com_info_0812121508
/var/lib/psa/dumps/clients/mydomains/domains/example.com/converted_example.com.com_info_0812121508.xml
/var/lib/psa/dumps/clients/mydomains/.discovered/converted_mydomains_info_0812121508
From the output above it is seen that this is a backup of a client with the login mydomains
which owns the domain example.com
with the mail account john.doe@example.com
. The backup of this client includes the backup of the domain it owns.
Warning: Modifying Plesk backup is not recommended.
The Plesk backup repository is $DUMP_D
(the default location is /var/lib/psa/dumps
).
Below are the descriptions of directories corresponding to personal backup repositories accessible through Plesk.
-
Root backup directory where server backups and subdirectories with backups of resellers, clients, and domains are stored.
CONFIG_TEXT: /var/lib/psa/dumps/
/var/lib/psa/dumps/.discoveredIn Plesk, this directory is accessible through Home > Backup Manager . The required auxiliary subdirectory .discovered is where technical backup information is stored. The directory is not visible in Plesk:
-
Subdirectory where backups of domains owned by the administrator are stored.
CONFIG_TEXT: var/lib/psa/dumps/domains
/var/lib/psa/dumps/domains/<domain.name>
/var/lib/psa/dumps/domains/<domain.name>/.discoveredThe repositories are identified by the domain name and accessible via Domains > example.com > Backup Manager:**
** -
Subdirectory where backups of clients and their domains are stored. The repositories are identified by client login and domain name.
CONFIG_TEXT: /var/lib/psa/dumps/clients
/var/lib/psa/dumps/clients/<client.login>
/var/lib/psa/dumps/clients/<client.login>/.discovered
/var/lib/psa/dumps/clients/<client.login>/<domain.name>
/var/lib/psa/dumps/clients/<client.login>/<domain.name>/.discoveredThey are accessible via:
- Clients > client_name > Backup Manager
- Clients > client_name > Domains > example.com > Backup Manager .
-
Subdirectory where backups of resellers, their clients and domains are stored.
CONFIG_TEXT: /var/lib/psa/dumps/resellers
/var/lib/psa/dumps/resellers/<reseller.login>
/var/lib/psa/dumps/resellers/<reseller.login>/.discovered
/var/lib/psa/dumps/resellers/<reseller.login>/<cient.login>
/var/lib/psa/dumps/resellers/<reseller.login>/<cient.login>/.discovered
/var/lib/psa/dumps/resellers/<reseller.login>/<cient.login>/<domain.name>
/var/lib/psa/dumps/resellers/<reseller.login>/<cient.login>/<domain.name>/.discoveredThe repositories are identified by reseller login, client login and domain name. They are accessible via:
- Resellers > reseller_name > Backup Manager
- Resellers > reseller_name > Client Accounts > client_name > Backup Manager
- Resellers > reseller_name > Client Accounts > client_name > Domains > example.com > Backup Manager .
If there is a plan to migrate objects to a new server, move the root backup directory as a whole.
Foreign files located in the backup repository are not visible through Plesk.
Technical details of Plesk backup are stored in the .discovered directory ( .discovered/converted\_mydomains\_info_0812121508
). For example:
# ls -l /var/lib/psa/dumps/clients/mydomains/.discovered/converted_mydomains_info_0812121508
-rw-r----- 1 root root 0 Feb 26 14:09 GUID_6ef49c73-4806-48ca-908e-a6674b83d80e
-rw-r----- 1 root root 0 Feb 26 14:09 objectid_mydomains
-rw-r----- 1 root root 0 Feb 26 14:09 owner_6706c956-3955-41f4-8ff0-f3b993999a12
-rw-r----- 1 root root 0 Feb 26 14:09 ownertype_server
-rw-r----- 1 root root 0 Feb 26 14:09 size_1149879
-rw-r--r-- 1 root root 0 Feb 26 14:09 status_OK
Where
- GUID_6ef49c73-4806-48ca-908e-a6674b83d80e indicates the GUID of the object which is being backed up;
- objectid_mydomains is the name of the object which is being backed up. (It may be DOMAIN.NAME, CLIENT.LOGIN, RESELLER.LOGIN or admin);
- owner_6706c956-3955-41f4-8ff0-f3b993999a12 indicates the GUID of the owner of the object which is being backed up;
- size_1149879 indicates the backup size which is shown in Plesk on the page {Backup Manager};
- status_OK indicates the status of the backup.
Backup status may be:
- status_OK to indicate a valid backup (marked with green in Plesk);
- status_WRONG-FORMAT for an invalid backup (marked with red in Plesk);
- status_SIGN-ERROR for a modified backup in which the backup signature does not match the backup content. This notification is shown in Plesk when you click on the backup: "Warning: This backup was created on another server or modified after creation."
Note: The status backup file is kind of like a cache. You need to remove it to allow Plesk Backup Manager to generate a new status file.
Comments
0 comments
Please sign in to leave a comment.