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
#!/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 ######
#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
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
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
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 :
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