Monday, July 23, 2018

ໂອຍຍ້າຍບັນຊີອີເມວໃນ Zimbra Mail

ກ່ອນຈະທຳການໂອຍຍ້າຍບັນຊີອີເມວໃນ Zimbra Mail ສິ່ງທີ່ຕ້ອງການເບື້ອງຕົ້ນ:
ເບື້ອງເຊີເວີເກົ່າ:
- ຕ້ອງການ ssh ແລະ ລັອກອິນຜ່ານຜູ້ໃຊ້ root
- ຕ້ອງການ zimbra admin logins
- ສຳຄັນຕ້ອງມີເນື້ອທີ່ພໍການໃນການສຳຮອງຄັ້ງນີ້

ເບື້ອງເຊີເວີໃໝ່:
- ຕ້ອງຕິດຕັ້ງ Zimbra Mail ເວີຊັນຫຼ້າສູດ
- ຕ້ອງການ ssh ແລະ ລັອກອິນຜ່ານຜູ້ໃຊ້ root
- ຕ້ອງການ zimbra admin logins
- ສຳຄັນຕ້ອງມີເນື້ອທີ່ພໍການໃນການຕິດຕັ້ງ

1. ສ້າງໂຟນເດີ ກຽມໃນການສຳຮອງ

[root@zimbra ~]# mkdir /backups/zmigrate
[root@zimbra ~]# chown zimbra.zimbra /backups/zmigrate
[root@zimbra ~]# su - zimbra

2. ສຳຮອງຂໍ້ມູນທັງໝົດຈາກເຊິເວີເກົ່າ
2.1 ຂັ້ນຕອນນີ້ ແມ່ນ ຊອກຫາບັນດາໂດເມນທັງໝົດ

zimbra@zimbra:~$ cd /backups/zmigrate
zimbra@zimbra:/backups/zmigrate$ zmprov gad > domains.txt
zimbra@zimbra:/backups/zmigrate$ cat domains.txt
fun.com
myserver.com
justfortest.com
checkit.com
dieanotherday.com
gnutest.com
foo.com
zimbra.foo.com
zimbra@zimbra:/backups/zmigrate$


2.2 ຄົ້ນຫາບັນຊີ Admin ບັນທຶກໄວ້ admins.txt

zimbra@zimbra:/backups/zmigrate$ zmprov gaaa > admins.txt
zimbra@zimbra:/backups/zmigrate$ cat admins.txt
[email protected]
zimbra@zimbra:/backups/zmigrate

2.3 ຄົ້ນຫາທຸກບັນຊີ ບັນທຶກໄວ້ emails.txt

zimbra@zimbra:/backups/zmigrate$ zmprov -l gaa >emails.txt
zimbra@zimbra:/backups/zmigrate$ cat emails.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
zimbra@zimbra:/backups/zmigrate$

2.4 Get all distribution lists ບັນທຶກໃສ່ distributinlist.txt

zimbra@zimbra:~$ zmprov gadl > /backups/zmigrate/distributinlist.txt
zimbra@zimbra:~$ cat /backups/zmigrate/distributinlist.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
zimbra@zimbra:~$

2.5 Get all members in distribution lists

zimbra@zimbra:~$ mkdir /backups/zmigrate/distributinlist_members
zimbra@zimbra:~$ for i in `cat /backups/zmigrate/distributinlist.txt`; do zmprov gdlm $i > /backups/zmigrate/distributinlist_members/$i.txt ;echo "$i"; done
[email protected]
[email protected]
[email protected]

2.6 Find all email account’s passwords

zimbra@zimbra:/backups/zmigrate$ mkdir userpass
zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov  -l ga $i userPassword | grep userPassword: | awk '{ print $2}' > userpass/$i.shadow; done

2.7 Backup all user names , Display names and Given Names

zimbra@zimbra:/backups/zmigrate$ mkdir userdata
zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov ga $i  | grep -i Name: > userdata/$i.txt ; done

2.8 Now backup all email account

zimbra@zimbra:/backups/zmigrate$ for email in `cat /backups/zmigrate/emails.txt`; do  zmmailbox -z -m $email getRestURL '/?fmt=tgz' > $email.tgz ;  echo $email ; done
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

2.9 Now backup alias

zimbra@zimbra:/backups/zmigrate$ mkdir -p alias/
zimbra@zimbra:/backups/zmigrate$ for i in `cat emails.txt`; do zmprov ga  $i | grep zimbraMailAlias |awk '{print $2}' > alias/$i.txt ;echo $i ;done
[email protected]
[email protected]

3. Restore in new server

[root@zimbra ~]# su - zimbra
[zimbra@zimbra]$

3.1 Restore all domains

[zimbra@zimbra zmigrate]$ for i in `cat /backups/zmigrate/domains.txt `; do  zmprov cd $i zimbraAuthMech zimbra ;echo $i ;done
2c86f244-de9d-4b7c-8e22-2246a8256219
myserver.com
dbf75058-d85e-4d60-8b69-1f148a456eb6
justfortest.com
ee90ffa2-505d-449f-82fd-129acb21cb5e
checkit.com
8b6bf287-f61e-4930-ada0-96b817292556
dieanotherday.com
17d3c73c-14f7-43aa-9fd2-c9be9e29c9e5

3.2 Create email accounts and set the old password
ສ້າງສະຄຣິບໄຟລ

#!/bin/bash
#Scrit  for creating the email accounts createacct.sh
USERPASS="/backups/zmigrate/userpass"
USERDDATA="/backups/zmigrate/userdata"
USERS="/backups/zmigrate/emails.txt"
for i in `cat $USERS`
do
givenName=$(grep givenName: $USERDDATA/$i.txt | cut -d ":" -f2)
displayName=$(grep displayName: $USERDDATA/$i.txt | cut -d ":" -f2)
shadowpass=$(cat $USERPASS/$i.shadow)
tmpPass="CHANGEme"
zmprov ca $i CHANGEme cn "$givenName" displayName "$displayName" givenName "$givenName" 
zmprov ma $i userPassword "$shadowpass"
done

3.3 Restore email accounts

[zimbra@zimbra zmigrate]$ for i in `cat /backups/zmigrate/emails.txt`; do zmmailbox -z -m $i postRestURL "/?fmt=tgz&resolve=skip" /backups/zmigrate/$i.tgz ;   echo "$i -- finished "; done
[email protected] -- finished 
[email protected] -- finished 

3.4 Now recreate the distribution lists

[zimbra@zimbra zmigrate]$ for i in `cat distributinlist.txt`; do zmprov cdl $i ; echo "$i -- done " ; done
2a852fd8-6e66-426e-a76d-15192536042a
[email protected] -- done 
a0f6ddb3-8525-4194-9397-6cf0a920dda6

3.5 Restore the distribution lists
ສ້າງໄຟລສະຄຣິບ

[zimbra@zimbra zmigrate]$ cat restoredist.sh 
#!/bin/bash
# add all memebers to each of these distribution lists
for i in `cat distributinlist.txt`
do
	for j in `grep -v '#' distributinlist_members/$i.txt |grep '@'` 
	do
	zmprov adlm $i $j
	echo " $j member has been added to list $i"
	done
done

3.6 Restore Alias accounts
ສ້າງໄຟລສະຄຣິບ

#!/bin/bash
for i in `cat /backups/zmigrate/emails.txt`
do
	if [ -f "alias/$i.txt" ]; then
	for j in `grep '@' /backups/zmigrate/alias/$i.txt`
	do
	zmprov aaa $i $j
	echo "$i HAS ALIAS $j --- Restored"
	done
	fi
done

src:https://syslint.com/blog/tutorial/zimbra-server-migration-and-zimbra-account-transfer-the-perfect-method/
[tag]Mail Server, Zimbra, Mail[/tag]

Subscribe

  • RSS Atom

ອອນລາຍ: 1 | ມື້ນີ້: 13 | ວານນີ້: 25 | ທິດນີ້: 93 | ເດືອນນີ້: 872 | ປີນີ້: 11832 | ລວມ: 78935