Tips Zimbra : Script untuk Membuat Daftar Account Locked/Closed/Maintenance
Tadi pagi salah satu klien menghubungi saya, menanyakan apakah memungkinkan jika status account di Zimbra dipisahkan kedalam listing tertentu. Pemisahan ini digunakan untuk memastikan bahwa account-account yang statusnya tidak aktif (status : Locked, Closed & Maintenance) bisa dilisting untuk kemudian ditandai di mesin yang baru.
Secara prinsip, dengan membaca script yang ada, kita bisa juga melakukan modifikasi agar scriptnya diperluas untuk field-field/kolom identitas lainnya.
Setelah oprek sedikit, berikut adalah scriptnya.
[code lang=”bash”]
#/bin/sh
#Hapus Layar
clear
echo -e “############################################################################”
echo -e “# Zimbra check account status #”
echo -e “# Skrip untuk memisahkan account Zimbra yang inactive (locked/closed) #”
echo -e “# Masim ‘Vavai’ Sugianto – vavai@vavai.com – https://www.vavai.com #”
echo -e “# Link Website : http://www.excellent.co.id #”
echo -e “############################################################################”
echo “Proses pengecekan dimulai…”;
# /* Variable untuk bold */
ibold=”\033[1m””\n===> ”
ebold=”\033[0m”
# /* Membuat file hasil pengecekan */
NAMA_FILE=”zimbra-acc-status.txt”
rm -f $NAMA_FILE
touch $NAMA_FILE
# /* Check versi Zimbra yang digunakan */
VERSION=`su – zimbra -c ‘zmcontrol -v’`;
ZCS_VER=”/tmp/zcsver.txt”
# get Zimbra LDAP password
ZIMBRA_LDAP_PASSWORD=`su – zimbra -c “zmlocalconfig -s zimbra_ldap_password | cut -d ‘ ‘ -f3″`
touch $ZCS_VER
echo $VERSION > $ZCS_VER
echo -e $ibold”Memanggil daftar seluruh account Zimbra…………………………”$ebold
grep “Release 5.” $ZCS_VER
if [ $? = 0 ]; then
USERS=`su – zimbra -c ‘zmprov gaa’`;
LDAP_MASTER_URL=`su – zimbra -c “zmlocalconfig -s ldap_master_url | cut -d ‘ ‘ -f3″`
fi
grep “Release 6.” $ZCS_VER
if [ $? = 0 ]; then
USERS=`su – zimbra -c ‘zmprov -l gaa’`;
LDAP_MASTER_URL=”ldapi:///”
fi
echo -e $ibold”Melakukan proses data, silakan tunggu…………………………”$ebold
# /* Proses insert account kedalam file hasil export */
for ACCOUNT in $USERS; do
NAME=`echo $ACCOUNT`;
ACCOUNT=`echo $ACCOUNT | awk -F@ ‘{print $1}’`;
OBJECT=”(&(objectClass=zimbraAccount)(mail=$NAME))”
STATUS=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep zimbraAccountStatus: | cut -d ‘:’ -f2 | sed ‘s/^ *//g’ | sed ‘s/ *$//g’`
if [ $STATUS != “active” ]; then
echo “$NAME status : $STATUS” >> $NAMA_FILE
echo “Menambahkan account $NAME ke daftar account, status : $STATUS”
fi
done
echo -e $ibold”Selesai melakukan proses pengecekan status account”$ebold
[/code]
Script diatas memang hanya melisting daftar account yang statusnya tidak aktif. Untuk mengupdate-nya ke sistem yang baru bisa juga membuat script dengan menjalankan perintah :
[code lang=”bash”]
su – zimbra -c “zmprov ma namaaccount@namadomain zimbraAccountStatus STATUS”.
[/code]
Parameter STATUS bisa diisi dengan : active, locked, closed dan maintenance.