主机描述文件可以 YAML 或 JSON 格式写入,包含一系列要从源服务器迁移的客户、订阅、附加域名、邮箱等。您可以在 此处 找到主机描述文件样本。本主题主要阐述如何配置一系列可保障成功迁移的常用参数。

指定网站内容数据的路径

若要指定源服务器和目的服务器上的网站内容数据的路径,请在订阅部分中使用以下参数:

  • source_webspace_root - 包含客户在源服务器上所有可用的文件的目录的绝对路径。只能在订阅级别指定(例如, /home/vhosts/example.com )。
  • source_document_root - 只包含 HTTP 协议所服务的文件的目录的绝对路径。可在订阅、附加域名或子域名级别指定(例如, /home/vhosts/example.com/httpdocs )。
  • target_document_root - 将包含目的服务器上由 HTTP 协议所服务的文件的目录。该路径是与目的服务器上订阅根目录相对的。可在订阅、附加域名或子域名级别指定(例如, data/www 。如果域名为 example.com ,而 Plesk 中的虚拟主机目录是 /var/www/vhosts ,那么目的服务器上文档根目录的绝对路径将是 /var/www/vhosts/example.com/data/www )。如未指定,将会使用 Plesk 默认值。

注解: 如果配置文件不包含源服务器的访问信息, source_webspace_rootsource_document_root 路径将被视作目的服务器上的本地路径。

如果您需要阻止迁移某个目录或文件,请使用 exclude 指令和 source_webspace_root 以及 source_document_root 参数。例如:

subscriptions:
  - name: example.com
    source_webspace_root:
      path: /home/vhosts/example.com
      exclude:
        - /bin
        - /logs

写入 exclude 规则的句法与 rsync 工具所使用的相同。请参阅 rsync 文档 - 查看 Include/Exclude 模式规则 不符了解详情。

如果您需要对将源服务器上指定目录的网站内容放置在目的服务器上哪个目录进行确切指定,请使用网站文件映射。例如:

subscriptions:
  - name: example.com
    target_document_root: data/www
    web_files:
      - source: /home/vhosts/example.com
        target: "{webspace_root}"
      - source: /home/vhosts/example.com/httpdocs
        target: "{document_root}"

目标指令用于指定目的服务器上的绝对路径,或包含一个或多个来自以下表格的模板变量的格式字串。

模板变量和订阅的含义 - 例如,当 web_files 节点直接在一个订阅节点下:

模板变量 详情 适用于
{anon_ftp_incoming} 可用于通过匿名 FTP 上传的目录路径 仅限 Linux
{anon_ftp_pub} 可用于通过匿名 FTP 读取的目录路径 仅限 Linux
{cgi_bin} 订阅的 cgi-bin 目录路径 仅限于 Unix
{document_root} 订阅的文档根目录路径 - 可用于 HTTP 协议的目录 Linux 和 Windows
{logs} 带有日志的目录路径(Apache 访问和错误日志,等等) Linux 和 Windows
{main_domain_private} 主域名的私有目录 仅限 Windows
{main_domain_statistics} 主域名的统计目录 (AWStats/Webalizer/etc) 仅限 Windows
{protected_dirs} 带有受保护目录的设置的目录路径 仅限 Linux
{ssl_document_root} 订阅的安全文档根目录路径 - 可用于 HTTPS 协议的目录 仅限 Windows
{statistics} 带有统计文件的目录路径 (AWStats/Webalizer/etc) 仅限 Linux
{webspace_idn} 以 punycode 编码的订阅名称 Linux 和 Windows
{webspace_root} 订阅根目录的路径 Linux 和 Windows
{webspace} 订阅名称 Linux 和 Windows

模板变量与附加域名和子域名的含义 - 例如,当 web_files 节点直接在一个附加域名或子域名节点下:

模板变量 详情 适用于
{cgi_bin} 附加域名/子域名的 cgi-bin 目录路径 仅限 Linux
{document_root} 附加域名/子域名的文档根目录路径 Linux 和 Windows
{logs} 带有附加域名/子域名的日志的目录路径(Apache 访问和错误日志,等等) 仅限 Linux
{protected_dirs} 带有附加域名/子域名受保护目录的设置的目录路径 仅限 Linux
{site_idn} 以 punycode 编码的附加域名/子域名的名称 Linux 和 Windows
{site} 附加域名/子域名的名称 Linux 和 Windows
{statistics} 带有附加域名/子域名统计文件的目录路径 (AWStats/Webalizer/etc) Linux 和 Windows
{webspace_anon_ftp_incoming} 可用于通过父级订阅匿名 FTP 上传的目录路径 仅限 Linux
{webspace_anon_ftp_pub} 可用于通过父级订阅匿名 FTP 读取的目录路径 仅限 Linux
{webspace_cgi_bin} 父级订阅的 cgi-bin 目录路径 仅限 Linux
{webspace_document_root} 父级订阅文档根目录的路径 Linux 和 Windows
{webspace_idn} 以 punycode 编码的父级订阅名称 Linux 和 Windows
{webspace_logs} 带有父级订阅日志的目录路径(Apache 访问和错误日志,等等) Linux 和 Windows
{webspace_protected_dirs} 带有父级订阅受保护目录的设置的目录路径 仅限 Linux
{webspace_root} 订阅根目录的路径 Linux 和 Windows
{webspace_ssl_document_root} 父级订阅的安全文档根目录路径 - 可用于 HTTPS 协议的目录 仅限 Windows
{webspace_statistics} 带有父级订阅统计文件的目录路径 (AWStats/Webalizer/etc) 仅限 Linux
{webspace} 父级订阅名称 Linux 和 Windows

指定邮件内容数据的路径

从源服务器迁移邮件内容到目的服务器的流程机制在 Linux 和 Windows 系统上不同。

在 Linux 系统上,您需要在 mail_users 部分指定有关要迁移的邮箱的信息:

mail_users:
- name: johndoe
  password: 123qwe
  directory: /var/qmail/mailnames/johndoe

其中”directory” 会指定在源服务器上存储邮箱内容的绝对路径,或手动移向目的服务器后将其放置哪里。

在 Windows 系统上,无需在主机描述文件中指定任何信息。所有邮件内容都将使用 Plesk 备份和恢复机制进行迁移。

注解: 在 Windows 上,Plesk Migrator 没有导入手动移向目的服务器的邮件内容的功能。若要迁移邮件内容,必须要访问源服务器。

指定数据库的路径

当从其它面板迁移时,Plesk Migrator 能够复制 MySQL 和 Microsoft SQL 服务器数据库。有两种复制数据库内容的方式:

  • 如果允许访问数据库服务器,则可以直接复制内容。
  • 从数据库转储文件恢复内容。

若要直接从数据库服务器复制内容,该数据库服务器必须列举于 Plesk Migrator 配置文件中,且必须提供服务器的访问信息。在 数据库 部分使用 服务器 参数:

databases:
  - server: mysql-db
    name: wordpress_9
    users:
    - login: exdbuser1
      password: 123qwe
  - server: mssql-db
    name: drupal_2
    users:
    - login: exdbuser2
      password: 123qwe

or

- name: wordpress_9
  dump: wordpress_9.sql
  users:
    - login: exdbuser1

转储文件必须以指定格式创建的才能从该转储文件恢复内容:

  • 对于 MySQL,可通过 mysqldump 等工具进行创建。
  • 对于 Microsoft SQL 服务器,请使用 T-SQL 结构 “BACKUP”.

若要恢复转储,请指定 dump 选项,如下:

- name: wordpress_9
  dump: wordpress_9.sql
  user:
    login: exdbuser1

注解: 只有源服务器上的 Microsoft SQL 服务器实例的主机名能够在目的服务器上解析才能迁移 Microsoft SQL 服务器数据库。