1. spoolをコピる

このスクリプトを旧サーバで作成 (今回はrsync_imap_spool.shという名前)

#!/usr/bin/env sh
rsync -a -C -v -r --delete-after /usr/imap-spool/ somebody@new.imap.example.jp:imap_spool_rsync

その後

% sudo rsync_imap_spool.sh


このスクリプトを新サーバで作成 (今回はrsync_local_imap.shという名前)

#!/usr/bin/env sh
sudo rsync -uavz /home/shirou/imap_spool_rsync/* /var/spool/imap/
sudo chown -R cyrus:cyrus /var/spool/imap/

sudo /usr/bin/cyrus/bin/reconstruct -r -f userA/NAME
sudo /usr/bin/cyrus/bin/reconstruct -r -f userB/NAME
:
:

user/NAMEはimapd.confをみて変更すること。アカウント人数分必要。

その後実行

% sudo rsync_local_imap.sh


コピーを二段階にわけているのは、rootでのsshアクセスを避けるために一回一般ユーザ
権限でコピーしているため。(なんかほかに良い方法ありそうだけど)

rsyncなので二度目以降は差分のみコピーされる。スクリプトを作っておき、
最初に一度時間をかけてコピーし、移行直前にもう一度実行すればdowntimeが少
なくてすむ。

なお、内容をコピーしてもimapdをrestartする必要はない。
(とはいえ本番移行時にはrestartするほうがいいだろう)

      • -