Цель:
Сохранить все написанные скрипты для удобной (для меня) работы с сервером "теплой" замены Zimbra, который является постоянно обновляемым "зеркалом" основного "живого" сервера.
Пояснение:
На вики-сайте разработчиков есть уже написанные скрипты группы энтузиастов, которые вполне работоспособны и вполне справляются с поставленными задачами, моя задача была их вживить и создать удобные для меня инструменты для более быстрого перехода с живого сайта на зеркальный. Думаю что статья (выше указанная) написана достаточно понятно, но был момент с ssh без парольной аутентификацией, который я решал другими методами. Жалею что в то время что то подобное этому блогу я не вел. Думаю что тот метод который описывается в статье тоже вполне рабочий, скорее всего была моя ошибка в настройке.
Но факт есть факт, какими бы путями я не шел сейчас все работает.
Итак скрипты:
6. Скрипт проверки работы 1 скрипта каждые 10 минут, ведение логов копирования сетевых настроек + занесения в логи состояния работы 1 скрипта.
- Смотреть нижнюю часть скрипта №3:
Сохранить все написанные скрипты для удобной (для меня) работы с сервером "теплой" замены Zimbra, который является постоянно обновляемым "зеркалом" основного "живого" сервера.
Пояснение:
На вики-сайте разработчиков есть уже написанные скрипты группы энтузиастов, которые вполне работоспособны и вполне справляются с поставленными задачами, моя задача была их вживить и создать удобные для меня инструменты для более быстрого перехода с живого сайта на зеркальный. Думаю что статья (выше указанная) написана достаточно понятно, но был момент с ssh без парольной аутентификацией, который я решал другими методами. Жалею что в то время что то подобное этому блогу я не вел. Думаю что тот метод который описывается в статье тоже вполне рабочий, скорее всего была моя ошибка в настройке.
Но факт есть факт, какими бы путями я не шел сейчас все работает.
Итак скрипты:
- Основной скрипт создания копии LDAP, MySQL, RedoLog и основного каталога Zimbra (/opt/zimbra/). (live_syncd)
- Скрипт управления 1 скриптом (start,stop,status...) (sync_commands)
- Скрипт копирования сетевых настроек "live" сервера и дубликации настроек "зеркала" (на случай обратного перехода). (runbackup)
- Скрипт применения настроек "live" сервера к "зеркалу". (takeNetwork_web1)
- Скрипт применения старых сетевых настроек "зеркала".(takeNetwork_mirror)
- Скрипт проверки работы 1 скрипта каждые 10 минут, ведение логов копирования сетевых настроек + занесения в логи состояния работы 1 скрипта. (runbackup)
- Скрипт запуска из под учетной записи root скрипта для пользователя zimbra на начало бэкапа. (live_sync_start)
1. Основной скрипт создания копии LDAP, MySQL, RedoLog и основного каталога Zimbra (/opt/zimbra/). (из данного мануала) - Main Script
2. Скрипт управления 1 скриптом (start,stop,status...) (из данного мануала) - Remote command Script
3. Скрипт копирования сетевых настроек "live" сервера и дубликации настроек "зеркала" (на случай обратного перехода). Совмещен с скриптом №6
#!/bin/bash
LOG="/home/vv/ipconf/runbackup.log"
#BackUp from LIVE SERVER
rsync -a --progress root@LIVE SERVER_INTERNAL_IP:/etc/resolv.conf /home/vv/ipconf/ipconf_live
rsync -a --progress root@LIVE SERVER_INTERNAL_IP:/etc/network/interfaces /home/vv/ipconf/ipconf_live
rsync -a --progress root@LIVE SERVER_INTERNAL_IP:/etc/hosts /home/vv/ipconf/ipconf_live
rsync -a --progress root@LIVE SERVER_INTERNAL_IP:/etc/hostname /home/vv/ipconf/ipconf_live
#BackUp from (localhost) MIRROR_SERVER
rsync -a --progress /etc/resolv.conf /home/vv/ipconf/ipconf_mirror
rsync -a --progress /etc/network/interfaces /home/vv/ipconf/ipconf_mirror
rsync -a --progress /etc/hosts /home/vv/ipconf/ipconf_mirror
rsync -a --progress /etc/hostname /home/vv/ipconf/ipconf_mirror
echo "[`date +%F-%T`] Last BackUp LAN Configuration LIVE SERVER and local setings." >> $LOG
#Test live_syncd for workable
PID1="/opt/zimbra/live_sync/pid/ldap_live_sync.pid"
PID2="/opt/zimbra/live_sync/pid/redo_log_live_sync.pid"
if ! [ -e "$PID1" ]
then echo "WARNING! Live_syncd LDAP is not runing" >> $LOG
su root /home/vv/ipconf/./live_sync_start
else echo "Live_syncd LDAP is runing" >> $LOG
fi
#
#
if ! [ -e "$PID2" ]
then echo "WARNING! Live_syncd REDOLOG is not runing" >> $LOG
su root /home/vv/ipconf/./live_sync_start
else echo "Live_syncd REDOLOG is runing" >> $LOG
fi
#
echo " " >> $LOG
#
4. Скрипт применения настроек "live" сервера к "зеркалу".
#!/bin/bash
LOG="/home/vv/ipconf/ipchanges.log"
#Stop copy Mirror's server IP configs to /home/vv/ipconf/ipconf_mirror
#su root /home/vv/ipconf/runbackup stop
#sleep 1
#echo -e '\E[34m'"!!!!!!BackUp Mirror's server IP config is finish!!!!!!!!!"; tput sgr0
#Stop Zimbra's sync Mirror server with LIVE SERVER
su zimbra /opt/zimbra/live_sync/./live_syncd stop
sleep 1
echo -e '\E[34m'"!!!!!!Sync with Live server is finish!!!!!!!!!"; tput sgr0
#Copy information from backup ip configuration of web1 to mirror server
FROM="/home/vv/ipconf/ipconf_live" #Take IP Configuration FROM
TO="/etc" #Put IP Configuration TO
#TO="/home/vv/test" #Test of copy
echo Take configuration from: [ $FROM ] and put to [ $TO ].
read -p "Copy [ resolf.conf ] to $TO (1\0): " REPLY
if (($REPLY == 1))
then cp $FROM/resolv.conf $TO
else ((M = M + 1))
echo File resolv.conf is NOT copy to $TO
fi
#
read -p "Copy [ interfaces ]to $TO (1\0):" REPLY
if (($REPLY == 1))
then cp $FROM/interfaces /etc/network/
else ((M = M + 1))
echo File interfaces is NOT copy to $TO
fi
#
read -p "Copy [ hosts ] to '$TO' (1\0)" REPLY
if (($REPLY == 1))
then cp $FROM/hosts $TO
else ((M = M + 1))
echo File hosts is NOT copy to $TO
fi
#
read -p "Copy [ hostname ] to $TO (1\0)" REPLY
if (($REPLY == 1))
then cp $FROM/hostname $TO
else ((M = M + 1))
echo File hostname is NOT copy to $TO
fi
#Check alarms from M
if ((M == 0))
then echo -e '\E[32m'" Ip Configs copying without any problems"; tput sgr0
else echo -e '\E[31m'"IP configs copying with $M problems"; tput sgr0
fi
#
#Reboot init.d/networking
read -p "REBOOT NETWORKING AND APPLY NEW CONFIGURATION? (1\0)" REPLY
if (($REPLY == 1))
then su root /etc/init.d/networking restart
else ((M = M + 1))
echo -e '\E[31m'"Configuration is not apply"; tput sgr0
fi
echo "[`date +%F-%T`] Taking network configuration $FROM to $TO" >> $LOG
#
5. Скрипт применения старых сетевых настроек "зеркала".
#!/bin/bash
LOG="/home/vv/ipconf/ipchanges.log"
#Start Zimbra's sync Mirror server with LIVE SERVER
su zimbra /opt/zimbra/live_sync/./live_syncd start
sleep 1
echo -e '\E[34m'"!!!!!!Sync with Live server is STARTED!!!!!!!!!"; tput sgr0
#Copy information from backup ip configuration of web1 to mirror server
FROM="/home/vv/ipconf/ipconf_mirror" #Take IP Configuration FROM
TO="/etc" #Put IP Configuration TO
#TO="/home/vv/test" #Test of copy
echo Take configuration from: [ $FROM ] and put to [ $TO ].
read -p "Copy [ resolf.conf ] to $TO (1\0): " REPLY
if (($REPLY == 1))
then cp $FROM/resolv.conf $TO
else ((M = M + 1))
echo File resolv.conf is NOT copy to $TO
fi
#
read -p "Copy [ interfaces ]to $TO (1\0):" REPLY
if (($REPLY == 1))
then cp $FROM/interfaces /etc/network/
else ((M = M + 1))
echo File interfaces is NOT copy to $TO
fi
#
read -p "Copy [ hosts ] to '$TO' (1\0)" REPLY
if (($REPLY == 1))
then cp $FROM/hosts $TO
else ((M = M + 1))
echo File hosts is NOT copy to $TO
fi
#
read -p "Copy [ hostname ] to $TO (1\0)" REPLY
if (($REPLY == 1))
then cp $FROM/hostname $TO
else ((M = M + 1))
echo File hostname is NOT copy to $TO
fi
#Check alarms from M
if ((M == 0))
then echo -e '\E[32m'" Ip Configs copying without any problems"; tput sgr0
else echo -e '\E[31m'"IP configs copying with $M problems"; tput sgr0
fi
#
#Reboot init.d/networking
read -p "REBOOT NETWORKING AND APPLY NEW CONFIGURATION? (1\0)" REPLY
if (($REPLY == 1))
then su root /etc/init.d/networking restart
else ((M = M + 1))
echo -e '\E[31m'"Configuration is not apply"; tput sgr0
fi
#
echo "[`date +%F-%T`] Taking network configuration $FROM to $TO" >> $LOG
#
6. Скрипт проверки работы 1 скрипта каждые 10 минут, ведение логов копирования сетевых настроек + занесения в логи состояния работы 1 скрипта.
- Смотреть нижнюю часть скрипта №3:
#Test live_syncd for workable7. Скрипт запуска из под учетной записи root скрипта для пользователя zimbra на начало бэкапа. (live_sync_start)
PID1="/opt/zimbra/live_sync/pid/ldap_live_sync.pid"
PID2="/opt/zimbra/live_sync/pid/redo_log_live_sync.pid"
if ! [ -e "$PID1" ]
then echo "WARNING! Live_syncd LDAP is not runing" >> $LOG
su root /home/vv/ipconf/./live_sync_start
else echo "Live_syncd LDAP is runing" >> $LOG
fi
#
#
if ! [ -e "$PID2" ]
then echo "WARNING! Live_syncd REDOLOG is not runing" >> $LOG
su root /home/vv/ipconf/./live_sync_start
else echo "Live_syncd REDOLOG is runing" >> $LOG
fi
#
echo " " >> $LOG
#
#!/bin/bash
#
su zimbra /opt/zimbra/live_sync/./live_syncd start
sleep 1
#
LOGT="/home/vv/ipconf/runbackup.log"
#
echo "[`date +%F-%T`] Live_syncd started " >> $LOGT
#
exit
#
Добрый день, прошу помощи, делаю все как в оригинальной инструкции. синхронизация по команде rsync -aHz --force --delete --sparse live_server:/opt/zimbra/ /opt/zimbra/ - успешна, а вот ./live_syncd start - Unable to identify local server address and assume remote address. Что может быть не так ?
ОтветитьУдалить