Plesk 9.x to 10 migration – no IMAP subfolders – workaround

Had the “pleasure” of migrating a Plesk 9.5 Linux server to another running the brand new Plesk 10 panel. Apart from the new GUI interface in Plesk 10, the migration was fast and went smooth. Or so I thought. The first problem I noticed was missing .htaccess files. The other, more serious, problem was with IMAP/Maildir subfolders not being migrated. The quick solution was a loop of mail accounts and rsync over ssh. Change the SOURCE host to the IP/hostname of the “old” server, or some other server with a copy of the complete Maildir’s. Run the script on the “new” Plesk 10 host.

#!/bin/sh

### rsync app must be installed on source & destination
## apt-get install rsync

### This script should be run on the destination host (Plesk 10)

ROOT=/var/qmail/mailnames
DEPTH=2
SOURCE=old-plesk.server.tld

### Loop folders
for i in $(find $ROOT -maxdepth 2 -type d -print); do
        if [ -d $i/Maildir ]; then
                echo "Syncing $i"
                rsync -ar ${SOURCE}:${i}/Maildir ${i}/
        fi
done

A quick fix for the missing .htaccess files could be running the following on the “old” server. I have ssh keys installed and enabled agent authentication forwarding, so I won’t need to enter my password for each file.

find /var/www/vhosts/ -name '.htaccess' \
 -exec rsync -a {} root@new-plesk.server.tld:{} \;