King0770-Notes-Merge Two Independent Machines: Difference between revisions

No edit summary
No edit summary
Line 15: Line 15:


If the passwords do not match between the two machines, you will need to change the passwords so the passwords match between both machines. After changing the passwords, you will need to restart ZCS services. (See zmldappasswd)
If the passwords do not match between the two machines, you will need to change the passwords so the passwords match between both machines. After changing the passwords, you will need to restart ZCS services. (See zmldappasswd)
==Section II - Exporting ldap info from the ldap-replica==
This is actually pretty straight forward. Basically we're going to export the ldap info into a file. Normally we can use the zmslapcat tool to export, however, we will need to parse out some superfluous info that zmslapcat would include.
Here's a small script to help facilitate this step. Basically, this will export all info the ldap-master will need to import.
<code><div>
#!/bin/bash
if [ `whoami` != "zimbra" ]; then
        echo "You must be the zimbra user to run this script."
exit 0
fi
echo $PATH | grep /opt/zimbra/openldap/sbin >/dev/null
R=$?
if [ $R = 1 ]; then
PATH=$PATH:/opt/zimbra/openldap/sbin
export PATH
fi
cd /tmp
echo "Exporting machine LDAP info. Grabbing the value of zmhostname"
slapcat -f ~/conf/slapd.conf -s cn=`zmhostname`,cn=servers,cn=zimbra >> tmp.$$
echo "Exporting domain and user information"
for DOM in `zmprov gad | sed 's/\./ /g' | awk '{ print $NF }' | sort -u`; do slapcat -f ~/conf/slapd.conf -s dc=$DOM; done >> tmp.$$
echo "Exporting COS's"
for COS in `zmprov gac`; do slapcat -f ~/conf/slapd.conf -s cn=$COS,cn=cos,cn=zimbra; done  >> tmp.$$
echo "Creating file in /tmp."
grep -v -e "entryCSN" -e "modifiersName" -e "modifyTimestamp" -e "createTimestamp" -e "creatorsName" -e "entryUUID" -e "structuralObjectClass" tmp.$$ >> all.`zmhostname`_`date +%F`.ldif
rm -rf tmp.$$
</div></code>

Revision as of 13:55, 19 April 2009


Why merge two different Zimbra machines?

Possible reasons:

Section I - LDAP Passwords

Run the following command on both machines.

zmlocalconfig -s | grep pass | grep ldap

If the passwords do not match between the two machines, you will need to change the passwords so the passwords match between both machines. After changing the passwords, you will need to restart ZCS services. (See zmldappasswd)


Section II - Exporting ldap info from the ldap-replica

This is actually pretty straight forward. Basically we're going to export the ldap info into a file. Normally we can use the zmslapcat tool to export, however, we will need to parse out some superfluous info that zmslapcat would include.

Here's a small script to help facilitate this step. Basically, this will export all info the ldap-master will need to import.

  1. !/bin/bash

if [ `whoami` != "zimbra" ]; then

       echo "You must be the zimbra user to run this script."

exit 0 fi

echo $PATH | grep /opt/zimbra/openldap/sbin >/dev/null R=$? if [ $R = 1 ]; then PATH=$PATH:/opt/zimbra/openldap/sbin export PATH fi

cd /tmp

echo "Exporting machine LDAP info. Grabbing the value of zmhostname" slapcat -f ~/conf/slapd.conf -s cn=`zmhostname`,cn=servers,cn=zimbra >> tmp.$$

echo "Exporting domain and user information" for DOM in `zmprov gad | sed 's/\./ /g' | awk '{ print $NF }' | sort -u`; do slapcat -f ~/conf/slapd.conf -s dc=$DOM; done >> tmp.$$

echo "Exporting COS's" for COS in `zmprov gac`; do slapcat -f ~/conf/slapd.conf -s cn=$COS,cn=cos,cn=zimbra; done >> tmp.$$

echo "Creating file in /tmp." grep -v -e "entryCSN" -e "modifiersName" -e "modifyTimestamp" -e "createTimestamp" -e "creatorsName" -e "entryUUID" -e "structuralObjectClass" tmp.$$ >> all.`zmhostname`_`date +%F`.ldif

rm -rf tmp.$$

Jump to: navigation, search