My old ASUS NCCH-DL Tower is quiet old now. Almost once a day, it shows strange kernel messages. Thus, I've decided to replace it by a real 1U server: An Asus RS162-E4/RX4.
Cyrus PART
The migration should be simple: Debian Squeeze 32bit to Debian Squeeze 64bit.
Here is what I've done on the old server:
find /var/lib/cyrus/user -name \*.seen -exec cvt_cyrusdb \{\} skiplist \{\}.flat flat \; sudo -u cyrus /usr/sbin/ctl_mboxlist -d > ~/mboxlist.txt
The "skiplist" DB format seems not to be compatible between 32bit and 64bit. Thus, I've to convert to a readable format.
Let's copy everything on the new host:
rsync -Haurovz --delete root@mail:/var/spool/cyrus/mail/ /var/spool/cyrus/mail rsync -Haurovz --delete root@mail:/var/lib/cyrus/ /var/lib/cyrus scp root@mail:mboxlist.txt ~/
DB format seems to be different on new host. I've to re-create them:
rm /var/lib/cyrus/db/* rm /var/lib/cyrus/db.backup1/* rm /var/lib/cyrus/db.backup2/* rm /var/lib/cyrus/deliver.db rm /var/lib/cyrus/tls_sessions.db rm /var/lib/cyrus/mailboxes.db sudo -u cyrus /usr/sbin/ctl_mboxlist -u < ~/mboxlist.txt sudo -u cyrus /usr/sbin/ctl_cyrusdb -r sudo -u cyrus /usr/sbin/tls_prune sudo -u cyrus /usr/sbin/ctl_cyrusdb -c sudo -u cyrus /usr/sbin/cyr_expire -E 3
Here is the magic step: You also have to re-create the seen user.db:
find /var/lib/cyrus/user -name \*.seen -exec cvt_cyrusdb \{\}.flat flat \{\} skiplist \; chown cyrus:mail /var/lib/cyrus/user/*/*