พอดีวันนี้ ได้ migrate mail ครับเลยเอาข้อมูลวิธี มาให้เพื่อนๆ พี่ๆ น้องๆ ดูหน่อยเผื่อจะเป็นประโยชน์
บ้าง
อิอิ
การใช้ imapcopy ในการ migrate mail ที่เป็น imap ครับโดยผ่าน perl module
ต้อง download imapcopy shell ก่อนครับโดยหาจาก google ก็ได้ชื่อ Golfinho-IMAPCopy-0.06.tar.gz
เริ่มต้นลง perl module
#perl -MCPAN -e shell
กระผมเลือกใช้ ค่า default ทั้งหมด
เสร็จแล้วทำการลง ตัว Bundle ครับ ในครั้งแรกที่มีการ ลง perl module
CPAN>install Bundle::CPAN
รอสักครู่ นานสองนาน เมื่อเสร็จแล้ว install IMAPClient Module
CPAN>install Mail::IMAPClient
ออกจาก cpan โดย
CPAN>quit
สั่งให้มัน updatedb
#updatedb
#locate IMAPCopy.pm
ทำการ copy IMAPCopy.pm_hack ไปทับไฟล์ IMAPCopy.pm ซึ่ง perl จะเรียกใช้งาน module นี้ครับ
แล้วเราก็เรียก script imapcopy
ถ้ามี user เดียวสั่งแบบนี้ เลยครับ
/usr/bin/imapcopy -from-host mail.xxx.com -from-login golfreeze -from-pass passxxx -to-host
localhost -to-login
golfreeze@destination.com -to-pass passxxx -tmpdir /tmp -to-debug
ของผมมี migrate เยอะเลยใช้วิธีเขียน shell script ช่วยครับ
++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin
export PATH
##Directory value
HOME=/mbox
USERLIST=/home/golf/imapcopy_only
ID=vmail
GID=mail
## Check user and create for dir user ##
if [ -s ${USERLIST}/userlist_seperate_test ] # if file size of new_account > 0
then
#lock account file
chown root ${USERLIST}/userlist_seperate_test
chmod 770 ${USERLIST}/userlist_seperate_test
while read account_dest
do
#Begin imapcopy change #account_ori and #account_dest
/usr/bin/imapcopy -from-host mail.xxx.com -from-login golfreeze -from-pass passxxx
-to-host
localhost -to-login
golfreeze@destination.com -to-pass passxxx -tmpdir /tmp
done < ${USERLIST}/userlist_seperate_test
cat /dev/null > ${USERLIST}/userlist_seperate_test
chown root:root ${USERLIST}/userlist_seperate_test
chmod 770 ${USERLIST}/userlist_seperate_test
else
#nothing to do
exit
fi
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
สำหรับ ตัวแปร
account_ori = account ต้นทาง
account_dest = account ปลายทาง