Rabu, 24 Juli 2013

ImapSync Script Automate Zimbra

ImapSync Script Automate Zimbra

Ada challange dari kantor untuk menarik semua isi email lama yang ada di hosting masterweb yang notabane menggunakan qmail sebagai backend system mail servernya untuk sinkronisasi isi email lama ke email baru sebenarnya cukup mudah , dengan adanya tools seperti imapsync , namun akan terasa membosankan jika harus mengetikkan syntack imapsync satu persatu user account yang akan di sinkronisasi  apa lagi user lebih dari 100 orang , bukan pekerjaan yang menyenangkan bukan ! hehehehe  dan karena keterbatasan saya akan hal coding  bash shell script maka alternatifnya cari panduan di wiki zimbra about script yang bisa automate multiple user untuk singkronisasi dan Alhamdulillah ketemu scriptnya setelah trial dan menambahkan parameter imapsync script berjalan dengan normal
Berikut scriptnya :
#!/bin/bash
logfile=”salinemaildotlog.txt”
host1=202.202.202.202
#host1 adalah alamat email sumber silahkan ganti ip dengan mail server anda#
host2=192.168.50.77
#host2 is alamat tujuan yang akan menerima dari host1 bisa juga ip public atau ip local#
domain=abc.com
#domain is where email account is
#everything after @ symbol
#tulis domain anda dan yang pasti harus FQDN
###### Do not modify past here ######
date=`date +%X_-_%x`
echo “” >> $logfile
echo “————————————” >> $logfile
echo “IMAPSync started..  $date” >> $logfile
echo “” >> $logfile
{ while IFS=’;’ read  u1 p1; do
user=$u1″@”$domain
echo “Syncing User $user”
date=`date +%X_-_%x`
echo “Start Syncing User $u1″
echo “Starting $u1 $date” >> $logfile
#imapsync –host1  $host1 –user1 $u1  –password1 $p1 –host2 $host2  –user2 $u1  –password2 $p1 –ssl1 –ssl2 –noauthmd5
imapsync –nosyncacls –ssl1 –ssl2  –syncinternaldates –host1 $host1 –user1 $user –password1 $p1 –host2 $host2 –user2   $user –password2 $p1   –noauthmd5 –allowsizemismatch  –nofoldersizes –skipsize –fast
date=`date +%X_-_%x`
echo “User $user done”
echo “Finished $user $date” >> $logfile
echo “” >> $logfile
done ; } < userlist.txt
date=`date +%X_-_%x`
echo “” >> $logfile
echo “IMAPSync Finished..  $date” >> $logfile
echo “————————————” >> $logfile
Cara Menggunakan :
1. Copy dan paste script tersebut ke shell linux anda simpan dengan nama sheelscript.sh lalu berikan permission executable
2. buat file userlist.txt      parametternya adalah sebagai berikut
nameuser;password   | namauser pertama dari sumber |
namuser;password     | namuser kedua dari tujuan    |
#Jika lebih dari satu user silahkan tambahkan di baris kedua
Script sudah saya ujicoba pada Linux SUSE Enterprise SP 2 dengan ZIMBRA OSE 8.04
Berjalan Sukses tanpa ada hambatan berarti , untuk distro yang lain harusnya juga bisa berjalan

Artikel ini diambil dari sini

Tidak ada komentar:

Posting Komentar