To migrate from Plesk for Linux, cPanel, Confixx, or Pro Control Panel to a Plesk for Linux server:

  1. Log in to the destination Plesk server via SSH.

  2. Make sure that Plesk Migrator is installed. If it is not, install it following the instructions here.

  3. Copy a sample configuration file from the /usr/local/psa/admin/plib/modules/panel-migrator/backend/conf/samples/ directory to the /usr/local/psa/var/modules/panel-migrator/conf/ directory. Choose one of the following sample files:

    1. The plesk-unix.simple.ini, cpanel.simple.ini, confixx.simple.ini, and ppcpl.simple.ini samples are basic and contain only the bare minimum of information necessary for the migration.

    2. The plesk-unix.ini, cpanel.ini, confixx.ini, and ppcpl.ini are comprehensive and well-commented configuration files enabling you to configure a wide range of migration options.

    For your convenience, the contents of the configuration file samples can be found here. After copying the file, rename it to config.ini.

  4. Edit the config.ini file to specify the IP addresses of the source and destination servers, and also the source server’s root user SSH password (the bare minimum necessary for migration). You can also specify additional settings - see the Editing the Plesk Migrator Configuration File topic for more information.

  5. Generate the migration list by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator generate-migration-list
    

    The resulting file will be named migration-list and will be placed in the /usr/local/psa/var/modules/panel-migrator/sessions/migration-session/ directory. The migration list is a list of objects (customer and reseller accounts, service plans, domains, and so on) to be migrated.

  6. Edit the migration list. You can remove the domains you do not want to migrate, assign domains you want to migrate to service plans, or re-assign them between customer accounts.

  7. Specify the new IP addresses that should be used by websites, if you want to assign the addresses manually. By default, IP mapping is carried out automatically. You can read about IP mapping in more detail here.

  8. Perform the pre-migration check by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator check
    

    Running the command will produce a list of potential issues you may encounter during the migration (if any). The “check” command must be performed each time when the migration list was changed.

  9. Run the following command to begin the migration:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator transfer-accounts
    
  10. (Recommended) After the migration is finished, run the following command to check the operability of the migrated objects on the destination server:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator test-all
    

To migrate from Plesk for Windows or Helm 3 to a Plesk for Windows server:

  1. Log in to the destination Plesk server via RDP and open the command prompt.

  2. Make sure that Plesk Migrator is installed. If it is not, install it following the instructions here.

  3. Copy a sample configuration file from the %plesk_dir%admin\plib\modules\panel-migrator\backend\conf\samples\ directory to the <PLESK_DATA_DIRECTORY>\var\modules\panel-migrator\conf\ directory. To find the location of <PLESK_DATA_DIRECTORY> on your server, run the following command:

    reg query "HKLM\SOFTWARE\Plesk\PSA Config\Config" /v PRODUCT_DATA_D /reg:32
    

    Choose one of the following sample files:

    1. The plesk-windows.simple.ini sample is basic and contains only the bare minimum of information necessary for the migration.

    2. The plesk-windows.ini sample is a comprehensive and well-commented configuration file enabling you to configure various migration options.

    For your convenience, the contents of the configuration file samples can be found here. After copying the file, rename it to config.ini.

  4. Edit the config.ini file to specify the IP addresses of the source and destination servers, and also the source server’s administrator user password (the bare minimum necessary for migration). You can also specify additional settings - see the Editing the Plesk Migrator Configuration File topic for more information.

  5. Generate the migration list by running the following command:

    %plesk_dir%admin/plib/modules/panel-migrator/backend/plesk-migrator.bat generate-migration-list
    

    The resulting file will be named migration-list and placed in the <PLESK_DATA_DIRECTORY>\var\modules\panel-migrator\sessions\migration-session\ directory. The migration list contains the list of objects (customer and reseller accounts, service plans, domains, and so on) to be migrated.

  6. Edit the migration list. You can remove the domains you do not want to migrate, assign domains you want to migrate to service plans, or re-assign them between customer accounts.

  7. Specify the new IP addresses that should be used by websites, if you want to assign the addresses manually. By default, IP mapping is carried out automatically. You can read about IP mapping in more detail here.

  8. (Recommended) Perform the pre-migration check by running the following command:

    %plesk_dir%admin/plib/modules/panel-migrator/backend/plesk-migrator.bat check
    

    Running the command will produce a list of potential issues you may encounter during the migration (if any).

  9. Run the following command to begin the migration:

    %plesk_dir%admin/plib/modules/panel-migrator/backend/plesk-migrator.bat transfer-accounts
    
  10. (Recommended) After the migration is finished, run the following command to check the operability of the migrated objects on the destination server:

    %plesk_dir%admin/plib/modules/panel-migrator/backend/plesk-migrator.bat test-all
    

Using command‑line options with Plesk Migrator

When migrating via the command line, you can pass additional options to the plesk-migrator executable. These options allow you to control logging, profiling, data fetching, content transfer, licensing checks, and more.

To view all available options at any time, run:

plesk-migrator check --help

Common options:

Option

Description

-h, --help

Show help and exit.

--async

Run the command asynchronously.

--quiet

Hide log entries in console output.

--debug

Increase debug level.

--disable-profiling / --enable-profiling

Disable or enable writing the profiling report.

--stop-mark-file <file>

Path to a file whose creation triggers a safe shutdown.

--progress-task-id <id>

Use a specific progress task ID.

Migration behavior options:

Option

Description

--ignore-pre-migration-errors

Continue migration even if pre-migration errors occur (intended for Plesk Support only).

--allocate-only-required-resourcesc

Create new webspaces using only the resources required by the corresponding subscriptions.

--reload-source-data

Fetch data again from the source instead of using cached data.

--skip-services-checks

Do not check the source or target services for potential issues.

--skip-license-checks

Skip license validation on the target server.

Migration list options:

Option

Description

--migration-list-file <file>

Specify the migration list file (default: $session_dir/migration-list).

--migration-list-format <text|json>

Migration list format (text by default).

--ignore-migration-list-errors

Continue the migration even if the migration list contains errors.

IP mapping:

Option

Description

--ip-mapping-file <file>

Provide a file that maps source IPs to target IPs.

Content transfer options:

Option

Description

--skip-copy-web-content

Do not transfer web files.

--skip-copy-mail-content

Do not transfer email messages.

--skip-copy-db-content

Do not transfer database content.

Additional cCopy options:

Option

Description

--copy-mail-settings

Copy server-wide mail settings (supported on Plesk 12.0 and later).

--copy-admin-profile

Copy admin profiles (supported on Plesk 12.0 and later).

--install-extensions

Install missing extensions (supported on Plesk 17.0 and later).

--copy-extensions-settings

Copy server-wide extension settings (supported on Plesk 17.0 and later).