banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Backup database của zimbra mail chạy trên RedHat 5?  XML
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 30/11/2010 16:50:24 (+0700) | #1 | 225915
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]
Cho tớ hỏi chút:

Tớ muốn backup database của zimbra mail chạy trên RedHat 5
Script như sau:
Code:
#!/bin/sh

mySqlPassword="password"
mySqlUser="root"

#Start service mySQL if it is not running
mySQLStatus=`su - zimbra -c "mysql.server status" |gawk '{print $3}'`
if [ "$mySQLStatus" != "running" ]; then
su - zimbra -c 'mysql.server start --socket=/opt/zimbra/db/mysql.sock'
fi

#Backup zimbra mail's database
su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=$mySqlUser --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'

Với script này, việc backup không thành công do mysqldump không hiểu tham số $mySqlUser và $mySqlPassword.

Nếu tớ hardcode:
Code:
su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=root --password=password --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'

Thi việc backup diễn ra thành công.
Cậu có thể gọi ý cho tớ chỉnh sửa lại script để thực thi việc backup mà không cần hardcode được không?
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 30/11/2010 18:23:17 (+0700) | #2 | 225922
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

neverwon wrote:

Với script này, việc backup không thành công do mysqldump không hiểu tham số $mySqlUser và $mySqlPassword.
 

Nguyên văn câu thông báo thế nào? User, password của bạn có ký tự gì đặc biệt không? Debug thử với sh -x sẽ thấy rõ hơn đấy.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 08:23:01 (+0700) | #3 | 225994
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]

quanta wrote:

neverwon wrote:

Với script này, việc backup không thành công do mysqldump không hiểu tham số $mySqlUser và $mySqlPassword.
 

Nguyên văn câu thông báo thế nào? User, password của bạn có ký tự gì đặc biệt không? Debug thử với sh -x sẽ thấy rõ hơn đấy. 


Khi truyền tham số theo cách này:
Code:
#Backup zimbra mail's database
 su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=$mySqlUser --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'

thực thi script thì nhận được báo lỗi:

[root@mail backup]# ./exportDB.sh
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
 

Lỗi này tương đuơng với việc thực thi

[root@mail backup]# su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S"smilie.sql'
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
 

Theo tớ hiểu, khi thực thi script exportDB.sh, tham số "--user=$mySqlUser" và "--password=$mySqlPassword" đã bị bỏ qua.

Tớ modify:
Code:
su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=root --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'



[root@mail backup]# ./exportDB.sh
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
 


Tham số "--password=$mySqlPassword" đã bị bỏ qua khi thực thi script!!!

Khi hardcode:
Code:
su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=root --password=password --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'

Script thực thi thành công, dữ liệu được backup đầy đủ:

[root@mail backup]# ./exportDB.sh
[root@mail backup]# ll
total 1212
-rwxr-x--- 1 zimbra zimbra 1422 Nov 30 16:06 autoBackupZimbra.sh
-rw-r--r-- 1 root root 34 Nov 30 10:46 domain_list.txt
-rwxr-x--- 1 zimbra zimbra 4314 Nov 30 14:20 export-acc-zcs.sh
-rwxr-x--- 1 root root 500 Dec 1 09:15 exportDB.sh
-rwxr-x--- 1 zimbra zimbra 2017 Nov 30 09:53 import-acc-zcs.sh
-rwxr-x--- 1 root root 72 Nov 30 14:47 ldapStatus.sh
-rwxr-x--- 1 root root 98 Nov 30 15:27 mySQLStatus.sh
-rw-r----- 1 zimbra zimbra 15270 Nov 30 16:32 mysqldump.help.txt
-rwxr-x--- 1 root root 223 Nov 30 11:07 test.sh
-rwxr-x--- 1 zimbra zimbra 404 Nov 30 09:53 uninstall.sh
-rw-r----- 1 zimbra zimbra 584606 Dec 1 09:16 zimbraBackup01122010_091648.sql
-rw-r----- 1 zimbra zimbra 584606 Nov 30 16:58 zimbraBackup30112010_165829.sql
-rwxr-x--- 1 zimbra zimbra 63 Nov 30 09:53 zimbraStatus.sh

 



[root@mail backup]# more zimbraBackup01122010_091648.sql
-- MySQL dump 10.11
--
-- Host: localhost Database:
-- ------------------------------------------------------
-- Server version 5.0.90-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `mboxgroup1`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mboxgroup1` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `mboxgroup1`;

--
-- Table structure for table `appointment`
--

DROP TABLE IF EXISTS `appointment`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `appointment` (
`mailbox_id` int(10) unsigned NOT NULL,
`uid` varchar(255) NOT NULL,
`item_id` int(10) unsigned NOT NULL,
`start_time` datetime NOT NULL,
`end_time` datetime default NULL,
PRIMARY KEY (`mailbox_id`,`uid`),
UNIQUE KEY `i_item_id` (`mailbox_id`,`item_id`),
CONSTRAINT `fk_appointment_item_id` FOREIGN KEY (`mailbox_id`, `item_id`) REFERENCES `mail_item` (`mailbox_id`, `id`) ON DELETE CASCADE,
CONSTRAINT `fk_appointment_mailbox_id` FOREIGN KEY (`mailbox_id`) REFERENCES `zimbra`.`mailbox` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 






[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 08:45:34 (+0700) | #4 | 225999
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Bạn vẫn chưa trả lời câu hỏi:
password của bạn có ký tự gì đặc biệt không? 

Chèn thêm một dòng `echo $mySqlPassword` trước mysqldump rồi chạy `sh -x ./exportDB.sh` sẽ rõ hơn đấy.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 09:09:22 (+0700) | #5 | 226008
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]

quanta wrote:
Bạn vẫn chưa trả lời câu hỏi:
password của bạn có ký tự gì đặc biệt không? 

Chèn thêm một dòng `echo $mySqlPassword` trước mysqldump rồi chạy `sh -x ./exportDB.sh` sẽ rõ hơn đấy. 


Code:
[root@mail backup]# sh -x ./exportDB.sh
+ mySqlPassword=password
+ mySqlUser=root
++ su - zimbra -c 'mysql.server status'
++ gawk '{print $3}'
+ mySQLStatus=running
+ '[' running '!=' running ']'
+ echo 'mySQL password: ' password
mySQL password:  password
+ su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=$mySqlUser --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect


password của user root chỉ bao gồm các ký tự thông thường (chữ cái và chữ số), không có ký tự đặc biệt nào (kiểu như #, % hay &...)

Tuy nhiên, tình huống này, theo như tớ hiểu, câu truy vấn đã được thực thi ở chế độ mặc định (user mặc định là root, không sử dụng password).

Phân biệt với tình huống có nhập password nhưng password không đúng:
Code:
[root@mail backup]# su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=root --password=aaa --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 10:00:31 (+0700) | #6 | 226021
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Bạn thêm tiếp -v (verbose) vào mysqldump rồi chạy lại sh -x xem nó bắn ra những gì.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 10:33:20 (+0700) | #7 | 226025
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]

quanta wrote:
Bạn thêm tiếp -v (verbose) vào mysqldump rồi chạy lại sh -x xem nó bắn ra những gì. 


Để kiểu tham biến:
Code:
[root@mail backup]# sh -x ./exportDB.sh
+ mySqlPassword=password
+ mySqlUser=root
++ su - zimbra -c 'mysql.server status'
++ gawk '{print $3}'
+ mySQLStatus=running
+ '[' running '!=' running ']'
+ echo 'mySQL password: ' password
mySQL password:  password
+ su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump -v --user=$mySqlUser --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'
-- Connecting to localhost...
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

Không tạo được kết nối tới DB

Hardcode:
Code:
[root@mail backup]# sh -x ./exportDB.sh
+ mySqlPassword=password
+ mySqlUser=root
++ su - zimbra -c 'mysql.server status'
++ gawk '{print $3}'
+ mySQLStatus=running
+ '[' running '!=' running ']'
+ echo 'mySQL password: ' password
mySQL password:  password
+ su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump -v --user=root --password=password --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql'

-- Retrieving table structure for table jiveExtComponentConf...
-- Sending SELECT query...
-- Retrieving rows...
-- Retrieving table structure for table jiveGroupProp...
-- Sending SELECT query...
-- Retrieving rows...


Kết nối, truy xuất dữ liệu thành công.
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 10:57:37 (+0700) | #8 | 226030
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
vim có tính năng syntax highlighting, viết script nên chú ý là khi gọi biến sẽ có màu riêng thay vì màu của string bình thường.

Sửa:
--user=$mySqlUser --password=$mySqlPassword

thành:
--user='$mySqlUser' --password='$mySqlPassword'
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 14:51:01 (+0700) | #9 | 226051
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]

quanta wrote:
vim có tính năng syntax highlighting, viết script nên chú ý là khi gọi biến sẽ có màu riêng thay vì màu của string bình thường.

Sửa:
--user=$mySqlUser --password=$mySqlPassword

thành:
--user='$mySqlUser' --password='$mySqlPassword'
 


Tớ switch sang user zimbra và thực thi script:
Code:
#!/bin/sh
mySQLUser="root"
mySQLPassword="password"

/opt/zimbra/mysql/bin/mysqldump --user=$mySQLUser --password=$mySQLPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup.sql


Quá trình backup diễn ra thành công!!!

Trong khi đứng ở user root để thực thi script:
Code:
#!/bin/sh
mySQLUser="root"
mySQLPassword="password"

su - zimbra -c '/opt/zimbra/mysql/bin/mysqldump --user=$mySQLUser --password=$mySQLPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/backup/zimbraBackup.sql'


--user=$mySQLUser--password=$mySQLPassword bị bỏ qua!!!

Tớ nghĩ, vấn đề nằm ở trong cặp 'single quote'.
Khi đứng từ root, thực thi câu truy vấn gián tiếp thông qua su - zimbra -c 'command', tham biến kiểu --user=$mySQLUser bị bỏ qua.
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 15:11:49 (+0700) | #10 | 226052
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

neverwon wrote:

Tớ nghĩ, vấn đề nằm ở trong cặp 'single quote'.
 

Đúng rồi. Có 2 cách: 1 là enclose tên biến với single quotes, 2 là dùng double quotes cho -c (--command) trong lệnh su.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Backup database của zimbra mail chạy trên RedHat 5? 01/12/2010 16:04:57 (+0700) | #11 | 226054
neverwon
Member

[Minus]    0    [Plus]
Joined: 08/08/2006 13:38:43
Messages: 89
Offline
[Profile] [PM]
Đây là toàn bộ script autoBackupZimbra.sh của tớ:
Code:
#!/bin/sh
#Stop zimbra service before backup (if it is running)
STATUS=`su - zimbra -c 'zmcontrol status |grep -i "mailbox"' | gawk '{print $2}'`
if [ "$STATUS" == "Running" ]; then
echo "Stopping Zimbra service...."
su - zimbra -c 'zmcontrol stop'
fi
echo ".... Service Zimbra has been stopped"

SCRIPT_FOLDER="/opt/backup"
BACKUP_FOLDER="/opt/backup"

mySqlPassword=`su - zimbra -c 'zmlocalconfig -s | grep "mysql_root_password"' | gawk '{print $3}'`
mySqlUser="root"

#Start service LDAP if it is not running
ldapStatus=`su - zimbra -c "ldap status | grep slapd" |gawk '{print $2}'`
if [ "$ldapStatus" != "running" ]; then
echo "Starting LDAP service..........."
su - zimbra -c 'ldap start'
fi
echo "..... Service LDAP has been started"

#Export LDAP users
$SCRIPT_FOLDER/export-acc-zcs.sh

#Stop service LDAP
su - zimbra -c 'ldap stop'

#Start service mySQL if it is not running
mySQLStatus=`su - zimbra -c "mysql.server status" |gawk '{print $3}'`
if [ "$mySQLStatus" != "running" ]; then
echo "Starting mysql service......"
su - zimbra -c 'mysql.server start --socket=/opt/zimbra/db/mysql.sock'
fi
echo "Service mysql has been started"

#Backup zimbra mail's database
echo "Starting backup database of Zimbra mail...."
/opt/zimbra/mysql/bin/mysqldump --user=$mySqlUser --password=$mySqlPassword --socket=/opt/zimbra/db/mysql.sock --all-databases > $BACKUP_FOLDER/zimbraBackup$(date +"%d%m%Y_%H%M%S").sql
echo "backup completed"

#Stop mysql service
su - zimbra -c 'mysql.server stop --socket=/opt/zimbra/db/mysql.sock'

#Backup index and store
echo "Starting backup index and store...."
tar -cvf $BACKUP_FOLDER/backupZimbraStore$(date +"%d%m%Y_%H%M%S").tar /opt/zimbra/store /opt/zimbra/index
echo "... Backup completed"

#Start zimbra service
START=`su - zimbra -c 'zmcontrol status |grep -i "mailbox"' |  gawk '{print $2}'`
if [ "$START" != "Running" ]; then
su - zimbra -c 'zmcontrol start'
fi
echo "Completed tasks"


Còn đây là script export-acc-zcs.sh tớ lấy từ http://www.vavai.com, có sửa đổi một chút để lấy toàn bộ accounts:
Code:
#!/bin/sh

#Hapus Layar
clear

echo -e "###################################################################################"
echo -e "# Zimbra export-acc-zcs.sh ver 0.0.2                                              #"
echo -e "# Skrip untuk export account Zimbra berikut profile dan password                  #"
echo -e "# Masim 'Vavai' Sugianto - <a href="mailto:vavai@vavai.com">vavai@vavai.com</a> - http://www.vavai.com                 #"
echo -e "# Untuk saran dan pertanyaan silakan menggunakan Milis Komunitas Zimbra Indonesia #"
echo -e "# Link Komunitas : http://www.zimbra.web.id - http://www.opensuse.or.id           #"
echo -e "###################################################################################"

# /* Variable untuk bold */
ibold="\033[1m""\n===> "
ebold="\033[0m"

FOLDER="/opt/backup"

# /* Parameter */
#echo ""
#echo -n "Enter Domain Name (ex : vavai.com) : "
#read NAME_DOMAIN
#echo -n "Enter path folder for exported account (ex : /home/vavai/) : "
#read FOLDER

# /*export ldap user */
NAME_FILE="$FOLDER/zcs-acc-add$(date +"%d%m%Y_%H%M%S").zmp"
LDIF_FILE="$FOLDER/zcs-acc-mod$(date +"%d%m%Y_%H%M%S").ldif"

rm -f $NAME_FILE
rm -f $LDIF_FILE

touch $NAME_FILE
touch $LDIF_FILE

#echo "createDomain $NAME_DOMAIN" >> $NAME_FILE

# /* Check Zimbra version */
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"Retrieve Zimbra User.............................."$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"Processing account, please wait.............................."$ebold
# /* Proses insert account kedalam file hasil export */
for ACCOUNT in $USERS; do
NAME=`echo $ACCOUNT`;
DOMAIN=`echo $ACCOUNT | awk -F@ '{print $2}'`;
ACCOUNT=`echo $ACCOUNT | awk -F@ '{print $1}'`;
ACC=`echo $ACCOUNT | cut -d '.' -f1`

#if [ $NAME_DOMAIN == $DOMAIN ] ;
#Export all LDAP's users
if [ $DOMAIN == $DOMAIN ] ;
then
OBJECT="(&(objectClass=zimbraAccount)(mail=$NAME))"
dn=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep dn:`


displayName=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep displayName: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`


givenName=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep givenName: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`

userPassword=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep userPassword: | cut -d ':' -f3 | sed 's/^ *//g' | sed 's/ *$//g'`

cn=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep cn: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`

initials=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep initials: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`

sn=`/opt/zimbra/bin/ldapsearch -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra -x $OBJECT | grep sn: | cut -d ':' -f2 | sed 's/^ *//g' | sed 's/ *$//g'`

	if [ $ACC == "admin" ] || [ $ACC == "wiki" ] || [ $ACC == "galsync" ] || [ $ACC == "ham" ] || [ $ACC == "spam" ]; then
    		echo "Skipping system account, $NAME..."
	else
		echo "createAccount $NAME passwordtemp displayName '$displayName' givenName '$givenName' sn '$sn' initials '$initials' zimbraPasswordMustChange FALSE" >> $NAME_FILE

    		echo "$dn
changetype: modify
replace: userPassword
userPassword:: $userPassword
" >> $LDIF_FILE
    		echo "Adding account $NAME"
	fi
else
	echo "Skipping account $NAME"
fi

done
echo -e $ibold"All account has been exported sucessfully into $NAME_FILE and $LDIF_FILE..."$ebold


Tớ đã backup thành công.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|