Projekat

Općenito

Profil

Nove funkcije #14543 » zimbra-1.backup.sh

nice verzija - Ernad Husremović, 04.07.2008 17:19

 
DEST="/home/hernad/backup/redmine"

OPENVZ_HOST=smraka-1.bring.out.ba
ZIMBRA_VZ_ID=701
ZIMBRA_VZ_HOST=zimbra-1.sigma-com.net


B_ZIMBRA_MYSQL_DB=1
B_ZIMBRA_MAIL_STORE=1
B_ZIMBRA_CONF=1
B_ZIMBRA_OPENLDAP_DATA=1
B_ZIMBRA_DSPAM_DATA=0




umount_remove_snapshot() {
SSH="ssh root@${OPENVZ_HOST} umount /mnt/data_snapshot/"
$SSH

SSH="ssh root@${OPENVZ_HOST} lvremove -f /dev/mapper/${DATA_LVM_GROUP}-data_snapshot"
$SSH

}

backup()
{


DATA_LVM_GROUP=smraka1vg52

#
# 701 136 running 192.168.45.188 zimbra-1.sigma-com.net


#message store
#hernad@nmraka-1:~/backup$ ssh root@zimbra-1.sigma-com.net du -s -h /opt/zimbra/store
#2,9G /opt/zimbra/store


# VG Name smraka1vg52
# Alloc PE / Size 64000 / 250.00 GB
# Free PE / Size 18988 / 74.17 GB


#LV Name /dev/smraka1vg52/data
#VG Name smraka1vg52

#hernad@nmraka-1:~/backup$ ssh root@smraka-1.bring.out.ba mount | grep data
#/dev/mapper/smraka1vg52-data on /data type ext3 (rw,errors=remount-ro)


# ako je doslo od neregularnog prekida, snapshot moze ostati

SSH=`ssh root@${OPENVZ_HOST} "if [ -e /dev/mapper/${DATA_LVM_GROUP}-data_snapshot ]; then echo 1;fi"`

if [ "$SSH" == "1" ]; then

umount_remove_snapshot
fi

# echo /dev/mapper/${DATA_LVM_GROUP}-data_snapshot ne postoji


CMD_LVM_CREATE="lvcreate -L2G -s -n data_snapshot /dev/${DATA_LVM_GROUP}/data"
CMD_MOUNT="mount /dev/${DATA_LVM_GROUP}/data_snapshot /mnt/data_snapshot"

#vzctl zimbra stop
SSH="ssh root@${OPENVZ_HOST} vzctl stop ${ZIMBRA_VZ_ID}"
$SSH
sleep 20

# lvm create shapshot
SSH="ssh root@${OPENVZ_HOST} ${CMD_LVM_CREATE}"
$SSH

#
SSH="ssh root@${OPENVZ_HOST} ${CMD_MOUNT}"
$SSH

SSH="ssh root@${OPENVZ_HOST} mount"
$SSH

#vzctl zimbra start
SSH="ssh root@${OPENVZ_HOST} vzctl start ${ZIMBRA_VZ_ID}"
$SSH

sleep 15

#root@zimbra-1:~# su zimbra -c "/opt/zimbra/bin/zmmailboxdctl stop"
#root@zimbra-1:~# su zimbra -c "/opt/zimbra/bin/zmmailboxdctl start"
#mailboxd started.

SSH="ssh root@${ZIMBRA_VZ_HOST}"
SSH+=' su zimbra -c "/opt/zimbra/bin/zmcontrol stop"'
$SSH

SSH="ssh root@${ZIMBRA_VZ_HOST}"
SSH+=' su zimbra -c "/opt/zimbra/bin/zmcontrol start"'
$SSH



#is evertything ok ..
SSH="ssh root@${OPENVZ_HOST} vzlist ${ZIMBRA_VZ_ID}"
$SSH

SSH="ssh root@${ZIMBRA_VZ_HOST}"
SSH+=' su zimbra -c "/opt/zimbra/bin/zmcontrol status"'
$SSH

sleep 7

#root@hp-smraka-1:~# ls /mnt/data_snapshot/vz/private/701
#bin dev fastboot initrd media opt root srv tmp var
#boot etc home lib mnt proc sbin sys usr


ZIMBRA_ROOT="/mnt/data_snapshot/vz/private/${ZIMBRA_VZ_ID}"


ZIMBRA_MYSQL_DB=${ZIMBRA_ROOT}/opt/zimbra/db
ZIMBRA_MAIL_STORE=${ZIMBRA_ROOT}/opt/zimbra/store
ZIMBRA_CONF=${ZIMBRA_ROOT}/opt/zimbra/conf
ZIMBRA_OPENLDAP_DATA=${ZIMBRA_ROOT}/opt/zimbra/openldap-data
ZIMBRA_DSPAM_DATA=${ZIMBRA_ROOT}/opt/zimbra/var/dspam/data/


#1) zimbra conf
if [ "$B_ZIMBRA_CONF" == "1" ];then
TAR_LOC=$ZIMBRA_CONF
TAR_NAME=zimbra_conf

echo kreiram ${OPENVZ_HOST}:/backup/$TAR_NAME
SSH=`ssh root@${OPENVZ_HOST} "nice -n 19 tar --create -z -C ${TAR_LOC} --file /backup/${TAR_NAME}.tar.gz . "`
fi

#2) zimbra mysql db
if [ "$B_ZIMBRA_MYSQL_DB" == "1" ]; then
TAR_LOC=$ZIMBRA_MYSQL_DB
TAR_NAME=zimbra_mysql_db

echo kreiram ${OPENVZ_HOST}:/backup/$TAR_NAME
SSH=`ssh root@${OPENVZ_HOST} "nice -n 19 tar --create -z -C ${TAR_LOC} --file /backup/${TAR_NAME}.tar.gz . "`
fi


#3) zimbra mail store
if [ "$B_ZIMBRA_MAIL_STORE" == "1" ];then
TAR_LOC=$ZIMBRA_MAIL_STORE
TAR_NAME=zimbra_mail_store

echo kreiram ${OPENVZ_HOST}:/backup/$TAR_NAME
SSH=`ssh root@${OPENVZ_HOST} "nice -n 19 tar --create -z -C ${TAR_LOC} --file /backup/${TAR_NAME}.tar.gz . "`
fi

if [ "$B_ZIMBRA_OPENLDAP_DATA" == "1" ];then
#4) zimbra openldap data
TAR_LOC=$ZIMBRA_OPENLDAP_DATA
TAR_NAME=zimbra_openldap_data

echo kreiram ${OPENVZ_HOST}:/backup/$TAR_NAME
SSH=`ssh root@${OPENVZ_HOST} "nice -n 19 tar --create -z -C ${TAR_LOC} --file /backup/${TAR_NAME}.tar.gz . "`
fi


if [ "$B_ZIMBRA_DSPAM_DATA" == "1" ] ; then
#dspam data ! /var/dspam/data/
#5) zimbra dspam_data
TAR_LOC=$ZIMBRA_DSPAM_DATA
TAR_NAME=zimbra_dspam_data

#echo kreiram ${OPENVZ_HOST}:/backup/$TAR_NAME
#SSH=`ssh root@${OPENVZ_HOST} "tar --create -z -C ${TAR_LOC} --file /backup/${TAR_NAME}.tar.gz . "`
fi


DEST=/home/hernad/backup/zimbra

echo kopiram na backup sa smraka na $DEST
scp root@${OPENVZ_HOST}:/backup/zimbra_* $DEST

umount_remove_snapshot

}

time backup
(1-1/2)