Articles in this section

Unable to start migration with Plesk Migrator: rsync error: unexplained error

Plesk for Linux kb: technical ext: migrator

Applicable to:

  • Plesk for Linux

Symptoms

  • Plesk Migrator fails to start a migration

    Failed to fetch basic information about resellers, clients and domains data from source servers
    Cause: Command execution failed on the local server with non-zero exit code.
    command: rsync -r --chmod=Fu=r,Du=rwx,go= --timeout=30 -e 'ssh -i /root/.ssh/id_rsa -p 22 -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no' /usr/local/psa/admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/source/legacy/extras/plesk_17_0_pmm_shared/ root@203.0.113.2:/root/plesk_migrator/plesk_migrator-v1c5tj81ez33fks3axsor39rbz5o4ac3/pmm_agent
    exit code: 12
    stdout:
    stderr: rsync: ERROR: cannot stat destination "/root/plesk_migrator/plesk_migrator-v1c5tj81ez33fks3axsor39rbz5o4ac3/pmm_agent": Permission denied (13)
    rsync error: errors selecting input/output files, dirs (code 3) at main.c(554) [receiver=3.0.6]
    rsync: connection unexpectedly closed (247 bytes received so far) [sender]
    rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]
    That is a critical error, migration was stopped.

  • SELinux is in Enforcing mode on the source server

    # getenforce
    Enforcing

  • The rsync SELinux boolean rsync_full_access is disabled or not available (CentOS 6, 7)

    # getsebool -a | grep rsync_full_access
    rsync_full_access --> off

  • Root login fails with both SSH key and password

  • These options are set in /etc/ssh/sshd_config

    • PubkeyAuthentication is set to on
    • PermitRootLogin is set to yes

Cause

SELinux blocks rsync command on source or target server.

Resolution

Temporarily allow rsync to run in SELinux (CentOS 7):

  1. Log in to the source and/or target server over SSH

  2. Enable the rsync SELinux boolean rsync_full_access

    # setsebool -P rsync_full_access=1

  3. Run Plesk Migration

  4. Disable the rsync SELinux boolean rsync_full_access

    # setsebool -P rsync_full_access=1

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.